The Nuclear Family Was a Mistake - <AUTHOR> https://www.theatlantic.com/magazine/archive/2020/03/the-nuclear-family-was-a-mistake/605536/ <comment><USER2> _Extended families have more people to share the unexpected burdens—when a kid gets sick in the middle of the day or when an adult unexpectedly loses a job._

Very true. Nowadays society/state is supposed to replace what extended families provide, but they can not replace the warmth of the family.

<comment><USER3> This assumes extended families exist.

Unfortunately, incarceration, low life expectancy, poor fitness, alternative lifestyles, minorities, poverty (and criminalization of poverty), and immigration have _strong correlations_ to not having as much family available and not being accepted by the church.

<comment><USER4> All the data and anecdotes I've seen suggest the correlation is in the opposite direction. Especially when it comes to race; in many minority groups grandma is very much part of the stereotypical family home.

<comment><USER3> To your anecdotes and the article's credit, yes, many minority groups (or approaching majority) do often use larger extended family units.

This is not to say that the the people who need help (from government or church) always have the option -- or that it doesn't have additional costs. (Though to several of the cases mentioned above, extended families are replacing a missing nuclear family member.)

</comment></comment></comment></comment><comment><USER5> What most people can no longer afford - i.e. an entire house for one nuclear family must therefor be recast as undesirable

</comment><comment><USER6> IMO, this type of communal living strategy is the best remedy to a lot of the problems faced in America and in western cultural in general. Many of the problems were already stated in the article, so I'll just add suburban sprawl, the high cost of individual ownership of everything, including the house, and the increased workload that results from not sharing the labor of common tasks like cooking, cleaning, and caring for children. BF Skinner's Walden Two is a good read that goes more into detail on the advantages of communal living. As a non religious person weary of politics, neither the state nor church are good options.

<comment><USER7> Yeah but you always get one person, be a wife or brother that starts "problems..." How do you keep peace?

<comment><USER8> I mean, most of human life has taken place in the context of extended familial and community support. I don't think we'd be facing new problems.

</comment></comment></comment><comment><USER9> I felt like I just read the same points being repeated over and over. Pretty rambly to essentially claim "extended families > nuclear families." Yes, perhaps, if you don't mind giving up some of your individuality and liberty for family collectivism and control. There's cultures outside the US that uphold this to the extreme (Asian cultures come to mind). It's not a mistake in either case. You give up one thing for another.

<comment><USER10> Brooks's point, it seemed to me, was to make an erudite case for why the nuclear family is, even in the US, a historical oddity. This is not a point that's routinely made in US cultural discussions, so it needed a fair amount of background.

His next point was that what comes next is path dependent, and may not look like what's come before.

So it seems overly dismissive to say that Asian cultures offer an alternative trade-off, end of story.

There are other possibilities besides tight genetically related extended families and nuclear families.

</comment></comment><comment><USER11> It seems like the author had an idea, then looked for anything that could help support the idea. The problem is the person only looks at the facts through their original idea.

<comment><USER12> This is a generic comment you could put under any opinion piece as a quick and cheap slur.

More valuable would be an actual critique of one or more of the points the author made as it might stimulate discussion.</comment></comment>


Snooze = Money – the most villainous alarm ever - <AUTHOR> http://www.entrepreneur.com/article/241820

<comment><USER2> When I go to bed at 5 and the workday starts at 8, this helps. Killer.

</comment><comment><USER3> i never miss out on dates anymore!

</comment><comment><USER4> So awesome!

</comment><comment><USER5> cool stuff :)</comment>


Camlistore – open-source personal storage system for life - <AUTHOR> http://camlistore.org/? <comment><USER2> I can't quite grasp what this is (as in, what the software is, is that a server, a client, or a combination of both), or how could I get started in using it.

>Your data should be alive in 80 years, especially if you are

Is there any special significane for 80 years? And exactly how is it safe? The "Download" sections have me installing the server on my box, and my hdd certainly won't survive 80 years.

Under storage, it says that

>Implementations are trivial and exist for local disk, Amazon S3, Google Storage, etc.

How does encryption work? I can't seem to find out at which step the encryption is done (client side, or server side?). The home page mentions it's "private by default", considering that I don't know that much about security and cryptography in general, how safe would I be in using this, for whatever purposes that it could be used for.

Mention under potential use cases: filesystems backups and Document management CMS. That's ... interesting.

<comment><USER3> I am not authoritative, but a glance at the documentation suggests encryption is not explicitly part of this spec. Since a blob may be anything, one instance of a blob can be a file encrypted by external means.

I believe Private by default just indicates that objects are not exposed until they are shared: like a file system is private by default and a Github repo is not.

<comment><USER4> Looks like there is an encrypt module that uses AES-128: [http://camlistore.org/pkg/blobserver/encrypt/](http://camlistore.org/pkg/blobserver/encrypt/). The modules are composable so you could encrypt your remote replicas of the main store (or hopefully all of them?)

</comment></comment></comment><comment><USER5> If you're confused as to what this project is about or why it's important, I highly recommend watching the first ~10 minutes of the video posted on the main site. Brad Fitzgerald does a much better way of explaining the value proposition.

I personally think this is one of the most hugely important ideas/protocols to come out of the last decade. Even if Camlistore doesn't do it, it's hard to imagine software programmers of the future _not_ agreeing on a shared protocol to fill this huge, huge need.

I actually wrote a proposal for a Mozilla grant recently outlining a couple of the reasons why decoupling storage from user interface is a fundamentally good thing for society[1].

[1][https://www.newschallenge.org/challenge/2014/submissions/sto...](https://www.newschallenge.org/challenge/2014/submissions/stop- letting-facebook-own-your-data-web-applications-should-ask-you-for-your-data- not-the-other-way-around)

<comment><USER6> I'm 18 minutes in and I have no idea what they're actually doing.

I get what they seem to _think_ they're doing.

But "storing arbitrary" data is a problem _everyone_ in the world is trying to solve. It's what a filesystem _is_. It's what backup tools do. It's a pretty well attacked problem.

A bunch of SHA1 hash addressed data is almost as useless as a raw disk with no filesystem.

Similarly, I'm seeing a lot of JSON. Who says JSON will be remembering in 80 years? It's ASCII! But that's not much of a guarantee.

There's a lot of claims here, which don't seem to translate into something which seems actually useful. For example, "immutable" sounds good till you run out of disk space because you have 1000 copies of a sightly different VM image in the system. It's pretty easy to build a system which stores "everything". It's a lot harder to build one which is _useful_.

</comment></comment><comment><USER7> Original post from three years ago: [https://news.ycombinator.com/item?id=2156374](https://news.ycombinator.com/item?id=2156374)

Camlistore has always been a project that I'd like to try out someday but every time I've looked it's seemed more hypothetical than real. Kenneth Reitz (of python requests fame, among other things) put together a much smaller thing called Elephant[1] that I've been tempted to explore as well, and it's sort of in the same vein.

[1]: [https://github.com/kennethreitz/elephant](https://github.com/kennethreitz/elephant)

<comment><USER3> From Elephant's Github readme:

>> Suddenly, your data becomes as durable as S3

Seems slightly less ambitious.

</comment></comment><comment><USER8> This is a subject of great interest to librarians and archivists--how to store various types of data so that both it and its associated indexes remain fully accessible and searchable, with a minimum of maintenance, across decades or centuries, even as formats, maintainers, and institutions rise and fall.

Anyone know if these guys are working with existing archival groups and standards? It would be a shame if they're reinventing the wheel.

<comment><USER9> > how to store various types of data so that both it and its associated > indexes remain fully accessible and searchable, with a minimum of > maintenance, across decades or centuries, even as formats, maintainers, and > institutions rise and fall

Very nicely written description of something useful. IMO much better than the words on that website.

What I don't like about the website is the "jargon". These words are from just the first paragraph:

       formats
       protocols
       modeling
       synchronizing
       post-PC
       objects
       FUSE

Huh?

The website text was probably written by an engineer. Reminds me of a great quote:

       "engineers are all basically high-functioning
       autistics who have no idea how normal people
       do stuff" - Cory Doctorow

<comment><USER10> You're assuming the website is _targeted_ at normal people. Considering the state of the software, I find that a suspicious assumption. Most likely, the jargon is used because the intended audience can understand it.

<comment><USER9> You may be right. Maybe its best to only have jargon until the software is ready for prime time.

My general counter argument to jargon filled websites is the great ending of Trading Places:

       What about lunch?
       The lobster or the cracked crab?
       What do you think?

       Can't we have both?

Why can't a website have _both_ a clear explanation for normal people, followed by all the jargon necessary for the target audience?

</comment></comment></comment></comment><comment><USER11> If you are learning / playing with Go(Lang) you should definitely take a look at this source.

As a tool it's a bit rough yet, but it's going to be awesome.

Disclaimer : I have a man crush with Brad Fitzpatrick. Well, mostly with his code.

<comment><USER12> [http://sfist.com/2014/05/19/silicon_valley_recap_youre_gay_f...](http://sfist.com/2014/05/19/silicon_valley_recap_youre_gay_for.php)

<comment><USER11> Exactly. But keep it quiet because I'm going to meet Brad in a conference in a few months and I don't want to freak him out.

</comment></comment></comment><comment><USER13> My understanding of this is that it's "A git style CMS for all your data"... so you can't nuke things as there's history of it, and you can put any data you want into it.

Where I struggle is that either the definition of "your data" is narrow, or I shouldn't be using it for all my data.

Back in 1999 when I first learned about MP3, I started ripping my CDs. I have several thousand CDs, this took a lot of time. Before I completed the task, at a rate of a few CDs each evening, FLACs came into my life and I started back at the beginning. I deleted the MP3s as I replaced them with FLACs.

I really don't ever need to keep some data. But maybe it's not the kind of data that I should be putting in Camlistore? I think of it as my data, after all these are my CDs.

I struggle with the concept of Camlistore as I have an 18TB NAS in RAID6, 12TB usable... and it's 80% full. If I had history I'd have a storage problem today.

I'm perhaps an outlier, I chose to self-host my data locally rather than rely on cloud based things. And I chose to keep everything... photos, documents, email, video, music. And everything I keep is in the highest possible quality: FLACs, DVD VOBs, raw photos, etc.

But then... who is Camlistore aimed at if not the people who like to store and have control over their own data?

I guess I just find delete too valuable a feature for the larger data I store.

And perhaps I'm just wrong on the use-case, maybe it's really "for all your data (that you cannot re-acquire)". I just don't want to ever rip those CDs again. But if I do, those old versions are dead to me.

<comment><USER14> It's not quite as much like git as you might think it is. It's git-style in that it stores data as blobs named by hash and tracks everything with pointers to those blobs, but isn't as committed to keeping everything forever. Git is designed to be able to reconstruct a set of data at any point in that data's history, so it makes sense to keep all previous data in its storage system.

However, even git will delete data if you delete the "tree" metadata, ie you nuke some branch that has no downstream dependencies because you never merged it or there are no branches off of it. In that case, if the blobs aren't reachable by any tree/graph, git can garbage collect those blobs.

Camlistore does the same thing: if you delete all pointers to the data, those blobs might eventually be reclaimed. As a matter of implementation, camlistore doesn't do that today, but it's not the case that camlistore can't or won't let you delete data.

</comment></comment><comment><USER15> I just tried to get this running using release 0.7, but I am puzzled by the web interface. I have not managed to upload a file through it, and once I did upload a file through the commandline tool camput it did not seem to show up on the web interface. Seems like a cool concept, and I hope I'm doing something wrong since I would like this to work.

</comment><comment><USER16> Spoiler: if you came here all excited about the name beginning with Caml, Camli stands for Content-Addressable Multi-Level Indexed. It isn't related to the Categorical Abstract Machine Language. It's written in Go, not OCaml. (Yes, I know long ago Zinc was substituted for the Categorical Abstract Machine down in the depths of OCaml.)

<comment><USER17> Is OCaml used anywhere?

I've only met one OCaml programmer in my life, and they were a graduate student and rather strange.

<comment><USER18> It's used in a lot of places, including Facebook for Hack and Bloomberg as well as the oft cited Jane Street.

OCaml users: [http://ocaml.org/learn/companies.html](http://ocaml.org/learn/companies.html)

FB Hack: [http://cufp.org/2013/julien-verlaguet-facebook-analyzing- php...](http://cufp.org/2013/julien-verlaguet-facebook-analyzing-php- statically.html)

JaneStreet: [https://blogs.janestreet.com/category/ocaml/](https://blogs.janestreet.com/category/ocaml/)

</comment></comment></comment><comment><USER19> This sounds like what git-annex does today, except with a front-end. How is it different from this understanding?

git-annex stores things content addressed, gives me different views into the data (tags, etc), and supports different back-ends (S3, remote rsync, local filesystem, external disks, etc). Isn't this exactly what is described here?

</comment><comment><USER20> [http://nymote.org/](http://nymote.org/) is running along similar lines and has some serious technical chops behind it (including some of the original Xen folks). I'm not so sure about their UX skills, but it's worth keeping an eye on.

<comment><USER18> (I'm the site author) Is the UX comment something about the site or the tools?

If it's the site, that's on me and I have a bunch of work queued up to better represent the tools. Specific feedback would be welcome.

If it's about the tools, the first UI is the command line as we expect these to be components that developers can use. In terms of the initial applications we refer to, they would effectively be CardDAV and CalDAV servers so you'd hook in your existing apps to them.

<comment><USER20> To phrase it better - I don't have any idea whether the UX skills of the team match up with the technical skills. I wasn't criticising anything in particular, just noting a lack of knowledge on my part.

</comment></comment></comment><comment><USER21> You can't overwrite your data and can't delete it either? I am puzzled.

<comment><USER22> Similar semantics to git... it's a super robust approach.

<comment><USER6> How is it _different_ to git? Or I guess bup, more appropriately.

What is _this_ doing that solves so many problems that apparently they can't outline what it is actually doing on the frontpage of the website in clear language?

</comment></comment></comment><comment><USER23> To everyone who doesn't understand what this is all about, I suggest you read the presentations and watch the videos [0]. They're going deeper into what camlistore is and can do.

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

</comment><comment><USER24> As a non-english speaker, I always associated this with caml/ocaml and the ml languages - and I still do somehow even after I have visited the site and read about it, and what it is.

What does "camli" means?

<comment><USER14> It's an acronym: "Content-Addressable, Multi-Layer, Indexed" Storage. Nothing to do with ocaml.

Content Addressable: What things are named depends on their content. Two identical things have the same name. For example, the "name" or "key" for the data is the SHA-1 for the data, ala git.

Multi-Layer: The whole storage stack is built out of several layers. The blob store sits on the bottom, and only knows about bytes, and access is via the SHA-1 of those bytes. Things that you might store (Files, directories, sets, collections of tweets, social graphs, etc) build on top of the blob store by additional blobs that hold pointers to data blobs. Again, it's sort of like git. A front-end might sit on top of that abstraction.

Indexed: blobs of JSON that have a few special attributes are recognized and indexed. So, you might have a bunch of blobs with these special attributes (ie, "tag") and be able to ask the indexer "Give me all blobs with tag equal to foo", rather than having to search through the blobs directly.

</comment></comment><comment><USER25> This sounds very similar to diaspora. The whole project is about replacing social networkings idea of giving all of your info to a 3rd party, and only sharing some info with people you trust.

</comment><comment><USER26> This is the perfect solution for the laymen constant losses of data due to Windows breakages that lead to complete formatting of disks.</comment>


New Greplin iPhone app - <AUTHOR> http://itunes.apple.com/us/app/greplin/id424909109?mt=8

<comment><USER2> This is just an update. The app came out in July.

<comment><AUTHOR> Ah, my mistake.

This was in the email I got from Greplin: "It's been our biggest request for months and it's finally here: The Greplin iPhone app."</comment></comment>


The Myth of Blubber Town - <AUTHOR> https://publicdomainreview.org/2019/07/10/the-myth-of-blubber-town-an-arctic-metropolis/ <comment><USER2> A note for anyone that reads the comments first.

This isn't about obesity, but about whaling.</comment>


Solve this for free wifi password - <AUTHOR> https://twitter.com/IFLScience/status/515512884479401984

<comment><USER2> That multivariable Calculus class is paying off sooner than expected!</comment>


There's a Pong tournament on a Philly skyscraper tonight - <AUTHOR> http://www.destructoid.com/there-s-a-pong-tournament-on-a-philly-skyscraper-tonight-252060.phtml

<comment><USER2> <http://i.imgur.com/MPDDoht.jpg>

It will also be happening again on Wednesday for Philly Tech Week.

</comment><comment><USER3> A couple weeks ago there was a similar installation as part of an art show in São Paulo. There were a dozen different games you could play using a phone/tablet off the street. I like the 'bike invaders' one:

[http://www.youtube.com/watch?feature=player_detailpage&v...](http://www.youtube.com/watch?feature=player_detailpage&v=97oDJF7WpXo#t=59s)

</comment><comment><USER4> Looks less sophisticated than the CCC's Blinkenlights project.

<https://www.youtube.com/watch?v=cdaXP7hLHEs>

</comment><comment><USER5> Am I the only one who pictured a beer pong tournament on the roof of a skyscraper before reading the link?

</comment><comment><USER6> There'll also been some awesome chiptune artists playing: Cheap Dinosaurs and Animal Style.

</comment><comment><USER7> There's a Bay Bridge in Oakland that could use some Pong.

</comment><comment><USER8> very fitting. I fist discovered a pong console with paddles in the TV hutch in 1979. that was my first arcade summer. where? in Philly!

</comment><comment><USER9> blinkenlights all over again, good ideas never die.</comment>


Too poor to pay for college, too rich for financial aid - <AUTHOR> http://money.cnn.com/2016/04/28/pf/college/college-financial-aid/index.html <comment><USER2> I wonder how many kids realize they can go to community college for about 3 semesters of their general education requirements?</comment>


Ask HN: I got Quick Experiment menu in fb account,do anyone have idea about it? - <AUTHOR> the screenshot of it:
https://ibb.co/QCMsRj3
https://ibb.co/FxQvZVm
I also tried creating test I got new Experiment Url : https://www.facebook.com/?qe[test2]=testExperiment3%3AtestGroup
but nothing else happened <comment><USER2> EDIT: Aaaaand it's gone! That was a neat few minutes.

\---

EDIT: I've found a persons Resume which sheds some more light into this tool. It's meant for instant A/B testing.

[https://simranj3.github.io/facebook.html](https://simranj3.github.io/facebook.html)

A "universe" is a string like "android_modal_typeahead", an experiment name is something like "experiment_name_1", and I'm not sure what "groups" are. Seemingly ties into some backend tool, so hopefully there isn't too much havoc one could cause.

\---

Previous comment:

[https://launchdarkly.com/blog/the-billion-versions-of- facebo...](https://launchdarkly.com/blog/the-billion-versions-of-facebook- youve-never-seen/)

This is the only mention I could find about quick experiments. It's from September 2018. It's a developer tool.

> I kinda wanted to talk about what happens after you roll out a feature. Now > your feature's there, but you wanna tweak it. You wanna see, can you make it > better. So, for example, quick … so our tool is called Quick Experiment and > it's really used to launch experiments really quickly so developers don't > have to do… write too much code or worry about how to analyze these > experiments and it works across the board, across all our platforms. So you > don't have to write experiments for each platform separately and at any > given time, thousand is probably a low-balling figure, we have tens of > thousands of experiments running on Facebook, so that's kind of why if you > look at the combination of those, not any two people will probably have a > different Facebook experience.

> So for example, this is just the title of News Feed. You can see all the > different variations we've tried and we use this to really inform us on how > to get to … what the feature was really designed to do. Either retention or > user engagement or kind of just … getting a person to go click on that bar. > And in this case that actually is a search bar as well so when you click on > it, it turns to a search bar. So these are all the different treatments we > had for it.

<comment><AUTHOR> Thanks for the link, video is very informative. Beside,That option has gone now, which means It was by mistake accidentally shown to us. Most probably they are experimenting some new feature on quick experiment tool!!!!!

</comment></comment><comment><USER3> I'm seeing it as well. I haven't been able to find any experiment combinations that work but if you know of any, my email is my profile!

<comment><AUTHOR> sure, will ping you if I find.</comment></comment>


U.S., in Shift, Sees Marriage Act as Violation of Gay Rights - <AUTHOR> http://www.nytimes.com/2011/02/24/us/24marriage.html?_r=1&hp <comment><USER2> I've never really gotten why _any_ marriage needs to be recognized by the government. Yes, I understand it's for tax purposes, and yes, I think taxing 'married' people any differently than 'single' people is stupid.

<comment><USER3> It's a lot more than just tax issues involved. Marriages are contracts that two people enter into and a number of benefits and responsibilities are determined by that contract.

<comment><USER2> People enter into contracts every day that the government has nothing to do with. I'm still not getting why government approval should be involved at all.

<comment><USER3> I didn't suggest that the government should be involved I just wanted to point out that it's a lot more than taxes. The problem is that the government is already involved and so at the very least we should allow all couples the ability to enter into this particular contract without discrimination based on sexual preference.

</comment></comment></comment></comment><comment><USER4> I'm for Gay Marriage but I think he loses some serious integrity points for this because he openly said he was against Gay Marriage during the campaign.

Beyond that the Justice Department's job is (by their own definition) "enforcement of the law and administration of justice". Not enforcement of the laws the current administration happens to agree with. The Bush administration did vaguely the same thing with Microsoft's anti-trust case but at least they bothered to make it look like they were still enforcing the law with a wildly insufficient plea deal.

Again my issue isn't with Gay Marriage. I'm just not crazy about sending the message that it's ok for the President to subvert the law and lie to the public to do what he thinks is right. Even if I agree with him.

(For those of a liberal bent who can't see past the Gay Marriage issue imagine a Conservative President deciding not to allow the DOJ to pursue states that outlaw abortion because he doesn't feel like enforcing federal law)

<comment><USER5> The difference is that he's not failing to enforce federal law; he's failing to contest the judiciary's finding that DOMA is unconstitutional. If the court is right, then it's not a law, and he has no obligation to enforce it.

</comment></comment><comment><USER6> Congress passed the Defense of Marriage Act, Obama just called BS, now its up to the courts to decide. Yay separation of powers.

<comment><USER5> No, a court already called BS, and Obama gave up on arguing the point.

</comment></comment><comment><USER7> With 13 votes in less than an hour, I'm surprised that this isn't on the front page. Presumably some penalty is being applied, and I'd like to better understand this.

For hackers and many other people at startups, marriage is an important way of getting insurance coverage and other benefits. Until now, the US government has taken the stance that many people shouldn't be eligible for it. Now, it's changing the position. Why isn't this relevant?

<comment><USER8> Political articles tend to get flagged, pushing them off the front page.

<comment><USER9> Correct. All of the Giffords shooting in Tucson articles from last month got flagged off.</comment></comment></comment>


The slot car track to end all slot car tracks. - <AUTHOR> http://www.automobiliac.com/automobiliac/2010/10/21/the-slot-car-track-to-end-all-slot-car-tracks.html

<comment><USER2> There's a Thai restaurant in my town (Alameda) that claims to have "Largest Longest standing Carrera Track in the United States". I go for the tasty food but my kids are enthralled by the cars.

<http://www.homeroomracingcafe.net/> (warning, their web page will offend any and all web design sensibilities)

</comment><comment> saw-lau As a Brit I feel duty-bound to mention James May's record-breaking track:

[http://www.worldamazingrecords.com/2009/08/wlongest- scalextr...](http://www.worldamazingrecords.com/2009/08/wlongest-scalextric- track-slot-car.html)

</comment><comment><USER3> Want. It brings back memories of being 10 and racing slot cars, although I never raced on such an amazing track.

</comment><comment><USER4> Actual site: <http://wlf1ring.blogspot.com/>

</comment><comment><USER5> I had a slotcar track when I was a kid and I just bought one at a thriftstore last night. How serendipitous to find this site today!

I think I might be hooked.</comment>


Christo's 'walk on water' art work rained off - <AUTHOR> https://www.yahoo.com/news/thousands-flock-christo-walk-water-150522825.html <comment><USER2> > _" The Floating Piers" cost 15 million euros ($16.7 million) to create but > will be open to the public for free, day and night, and is expected to > attract 500,000 visitors by the time it closes._

$16.7 million for a 1.9 mile walkway that will be open for less than a month and is apparently not highly weather resistant? For reference sake, a mile of urban 6-lane interstate highway costs $11 million, and a 2-lane road $3-$5 million [1].

I understand that the costs of building a bespoke floating dock will be more expensive than a regular road, but that just seems like a lot of money for _any_ art installation.

[1] [http://www.artba.org/about/faq/#9](http://www.artba.org/about/faq/#9)</comment>


Run v0.7.2 – Easily manage and invoke small scripts and wrappers - <AUTHOR> https://github.com/TekWizely/run/releases/tag/v0.7.2 <comment><AUTHOR> Do you find yourself using tools like make to manage non build-related scripts?

Build tools are great, but they are not optimized for general script management.

Run aims to be better at managing small scripts and wrappers, while incorporating a familiar make-like syntax.

I am happy to answer any questions you might have.

Thank you,

-TekWizely</comment>


The logic of Buddhist philosophy (2014) - <AUTHOR> http://aeon.co/magazine/philosophy/logic-of-buddhist-philosophy/ <comment><USER2> Seems to me that the catuskoti was already a concept in western philosophy, only we didn't give the group a name because we prioritised true and false above the other two possibilities: contradiction and indeterminacy.

Also seems to me that ineffability falls under indeterminacy. The author seems to try to distinguish between the two by saying there are things we might be able to know, and things we will never be able to know. Being a layman and not studied in philosophy and logic, it seems to me that indeterminacy is enough to encapsulate ineffability. This is illustrated by the numerous examples the author gives on attempts to explain the ineffable: this immediately makes it indeterminate, going by the author's use of logic. The author then goes on to talk about ordinal numbers, and presents what is purported to be an ineffable phrase:

the least ordinal that cannot be referred to

There are more ordinals than ordinary language can refer to, and one of these must be the least. But, by using that phrase we are referring to it. This is an obvious contradiction, but we know there must be one such ordinal. The author uses this to say that since we cannot talk about it, but it exists, it is ineffable. I say that this is unnecessary, it is enough to say the ordinal is indeterminate precisely because we cannot refer to it (determine it).

That it took us until the 20th century to imagine these ideas in mathematics and logic doesn't speak to any shortcomings of western logic with regards to contradiction and indeterminacy, in my opinion. It merely reflects the priorities of eastern and western thought. This is illustrated by the efforts of Bertrand Russell with his Principia. Through the centuries, western thinkers had made advances by considering what is true and what is false, and taking contradictions as dead ends that do not produce interesting areas of study. Russell tried to take this as far as he could with Principia, and in doing so inadvertently revealed the limitations of how far we can advance, limitations that were detailed by Kurt Godel and his incompleteness theorems. I say that, since we have advanced so far as to know the limits, now we are having more to say about contradiction and indeterminacy, and we are now saying it in a more precise way than Buddhist philosophers imagined in their day.

</comment><comment><USER3> Explanation from Henk Barendregt (logician and Vipassana teacher) [http://www.cs.ru.nl/~henk/BP/bp1.html](http://www.cs.ru.nl/~henk/BP/bp1.html)

\---

1.7 Explaining apparent contradictions

Now we will explain how contradictions, which happen to occur in some buddhist texts, are possible. Suppose some part of reality U is described using some language L. Some of the regularities observed in L are in fact physical laws, but may be confused with logical laws. If we extend the reality U to U+, but keep as the describing language L, then statements may result that contradict statements made about U. Although the contradictions are only apparent, because the statements are about different `worlds', it may seem that logical laws are violated.

An example will be helpful. Consider a tribe living on an isolated island. Vision of the tribesman is such that they can only see the colors black and white. In their description of the world they say: ``Something is either black or white." Although we know that this is for them in fact an empirical law, the people of the island are tempted to consider this as a logical law. Sometimes they use the words `white' and `non-black' interchangeably. On some day someone has a mystical experience. In our language we can say that that person has seen the color green. In the language of the tribe she says: ``I have seen something very impressive. It was neither black nor white." For most of the people of her tribe she was saying: ``It was neither black, nor non- black." Therefore on the island one may think she is speaking nonsense. However, we know that she is not.

There are, however, stronger contradictions. In his book Exploring Mysticism already mentioned, F. Staal discusses the following so called `tetra lemma' occurring in buddhist texts.

      	It is not A;
      	it is not non-A;
      	it is both A and non-A;
      	and it is neither A nor non-A.

Even this contradiction may be explained. Simply consider again the tribe seeing only black and white. But now our mystic sees the color gray. Indeed gray is not white, not black. And it can be said that gray is both white and black. But also that it is neither white nor black.

I hope that the examples show that contradictions occurring in texts of mystics are not a sign that something essential is wrong. Nevertheless it is preferable that descriptions of altered states of consciousness are free from contradictions in the sense of logic. I will try to fulfill this requirement in sections 2 and 3.

\---

Personal note: this "Buddhist logic" is useful in the context of phenomenology and how to communicate certain fundamental changes in viewpoint that come from meditation. It's not new better way to think.</comment>


Stop Writing Code Everyday - <AUTHOR> http://www.theniravshah.com/2014/04/dear-tech-founders-stop-writing-code.html <comment><USER2> More often than not I've seen founders completely neglect the mundane business of the day to day running of the company. Usually at the expense of their most loyal early employees, if not at the expense of the entire business itself.

It has come to a point where I've pretty much had it with those serial- entrepreneur types who pride themselves on having started an x-number of start-ups.

If you're incapable of, or simply completely uninterested in, running a business, don't start one. It doesn't make you a courageous entrepreneur, it makes you and adrenaline junkie who gets their kicks at the expense of others.

None of this is limited to code or tech in general. I've seen it in all kinds of areas. You may love doing X, but once you start a company doing X, running that company becomes is your job, not doing X.

If you're a founder/CEO and you've hired others to code, for you coding is a now hobby you can pick up in whatever spare time you have (probably none). To do it inside your own company when you should be taking care of your company and the people in it is selfish and self-indulgent.

<comment><USER3> I agree!

One common problem I see with tech founders/CEOs is they tend to get into their comfort zone i.e. coding, every time they face a business challenge.

This is especially true for first time entrepreneurs, for whom running a business is a new thing.

</comment></comment><comment><USER4> And I thought he would recommend spending times with family and friends, reading books and taking walks.

<comment><AUTHOR> :) That's important too!

</comment></comment><comment><USER5> I was expecting much more from that headline. The point is that you shouldn't do Don't Break The Chain because you might have other responsibilities? I don't see how it contradicts the original article's advice and I also don't think it was aimed toward CEOs.

<comment><AUTHOR> I am not against Don't break the chain philosophy for people who want to be top notch developers.

This was just an attempt to give a different point of view for technologists who are interested in building a business.

</comment></comment><comment><USER6> While i don't agree with this completely there is some truth to it. I ran an accelerator funded gaming startup for 2 years and was obsessed with development and coding. Most of the real CEO work was done on the side without much focus. In the end i think that played a big part in failing, because ultimately we ran out of money before profits were healthy. This could have been prevented if i had talked to investors earlier and more, focusing on the vision and shorter term goals to keep liquidity in check.

It's not that i didn't see it coming miles away, but it was still too late.

<comment><AUTHOR> @kayoone - I also used to code everyday - it was definitely a good practice.

However, I realized, that I am not able to focus on management - which is also important.

I still code at least 4 days a week (including weekends).

However, doing it every day, I don't think it is mandatory.

</comment></comment><comment><USER7> And i thought the article will somehow tell us that jeresig argument to code everyday was wrong.

i genuinely thought that the article should do justice by putting the same effort as jeresig post. Yeah OP argument that "CEO job is not only coding" is not wrong but i expect OP will argue that "code is not the onpy thing developer like jeresig do" based on the headline.

<comment><AUTHOR> Agreed. My post is targeted more towards technologists who are interested in building a business. For those who want to be top developers, I recommend to write code on a regular basis.

Thanks for your input, I have updated the post to state the same.

</comment></comment><comment><USER8> It's so classic that a popular post pops up and the next day we have its inverted version.

<comment><USER9> I thought this before reading the article. The context 'as CEO' takes the article in a different direction than just the expected don't code everyday mantra.

</comment></comment><comment><USER10> The web site has severe UX problems.. It is first loading, then loading and again loading... Go back does not work neither.

<comment><AUTHOR> Sorry about that. Is it accessible now?

I am using blogger. Should switch soon. Here is the same post on Medium: [https://medium.com/p/362c7c6176b8](https://medium.com/p/362c7c6176b8)

<comment><USER10> Now fine..

</comment></comment></comment><comment><USER11> "I rarely write code, but when I do..."

Can anybody come up with a good ending? :)

<comment><USER12> I write tests??

<comment><USER11> This is a good one for testing:

[http://www.troll.me/2011/08/31/the-most-interesting-man- in-t...](http://www.troll.me/2011/08/31/the-most-interesting-man-in-the- world/i-rarely-test-my-code-but-when-i-do-i-do-it-in-production/)

</comment></comment></comment><comment><USER13> For those who build stuff and hire vendors.. Is it better to hire vendors that know technical stuff or any vendor will do the same job more or less if they are correctly briefed about the product?

<comment><AUTHOR> @smallfluffycat - Hiring external vendors can work very well at times. It is a part of recruitment. I try to get the best person for that role for what I can afford. Full time in house or an external vendor - doesn't matter.</comment></comment>


Pros and Cons about Python 3 - <AUTHOR> http://lucumr.pocoo.org/2010/1/7/pros-and-cons-about-python-3

<comment><USER2> This is a pretty good overview of some key deficiencies. I wish he would have left the "not backwards compatible" complaints out -- backwards compatibility is a well-known non-goal, and it's a non-issue how difficult (or subtle) porting code to Py3 from Py2 is.

The super() stuff is unfortunate. It seems that Py3 manages to clean up so very many other uglinesses of the language... to see a new, obviously ugly thing introduced...

<comment><USER3> Could you (or anyone else) elaborate on the issues with super() as described in this article? I'm having a hard time understanding what's going on between the complex details of the problem and the author's cumbersome syntactic choices.

<comment><USER4> The super() is magical. Functions aren't supposed to magically know what class or instance they are in unless they are explicitly passed on in Python. That's why you see the "self" argument in methods.

And in the 2nd example, he shows that if you copy super to another name, then it doesn't work. Presumably meaning that super which looks like a function, actually acts like a compiler keyword in certain cases.

</comment></comment></comment><comment><USER5> Are his super() complaints really a problem in practice? I for one have always disliked the non-DRYness of typing "super(C, self).method(arg)", and Python 3's super() really improves on that for real-world cases.

I haven't done much Unicode string transformation, so can't comment much there. But why can't Python 3's str.lower() or .upper() replace one letter with two? As for the locale thing, could it be solved by the str.lower() and .upper() functions taking an optional locale parameter? As for internal encoding, I'm guessing they'll switch to all-UCS4 over time.

I really like all of the changes they're making in Python 3. Though I admit I haven't switched yet -- waiting for the 3rd-party support to catch up. Looks like it's happening though.</comment>


Show HN: An old rotary phone converted into a mobile phone - <AUTHOR> http://www.stavros.io/posts/irotary-saga/ <comment><USER2> Ha I love it! I love seeing old hardware hacked to bring it kicking and screaming into the modern world. This is why I love things like Arduino's. They a cheap but so much fun.

My daughter is 13 and I have been teaching her C (well the Arduino version of C) to make a clapper (clap to turn lights on and off) for her bedroom. She loves it and keeps coming up with ideas for things she wants to do.

Future projects include an automatic curtain motor and a remote controlled lock for her desk based on if her phone is or is not near by.

I don't know (or care tbh) if she will want to go into the world of computers for a job later in life but I am sure her knowledge of how computers work and not just how to login to Instagram will be benefit for her.

<comment><AUTHOR> By the way, if you need to control anything that may rely on mains power, a very easy and safe way I've found is to use remote-controlled wall-plug switches and switch them on and off from the Arduino.

You can find more info on my blog (check the RF/IR stuff):

[http://www.stavros.io/projects/](http://www.stavros.io/projects/)

<comment><USER3> I have used the PowerSSR Tail at home and now at the office for switching mains power on and off with an Arduino, works quite nicely and comes in a nice little package.

[http://www.powerswitchtail.com/pages/powerssrtail.aspx](http://www.powerswitchtail.com/pages/powerssrtail.aspx)

<comment><AUTHOR> That looks great as well, if a bit pricy. IIRC you can get four RC plugs for the same price.

</comment></comment></comment></comment><comment><USER4> I did one about 10years ago using an old phone I got at a garage sale. I was going to copy the Sparkfun design but instead I made mine a Bluetooth one so that you don't have to tied up a cellular line.

Anyhow, at the time I was working at a wireless company and I made up a fake collateral sheet for it on April 1st and circulated it around. Everyone thought that was the joke, but then I showed around the actual phone that you could make and receive calls on and it blew everyone away. It was really funny because for about a minute the marketing department thought about productizing it for real ! Anyway, nice work on your version! very cute :)

</comment><comment><USER5> Definitely a funny project.

Me and some friends too considered doing something like this over a decade ago, using a spare Nokia "Brick" (3310?) for the cell-phone parts and just fit them inside a rotary-phone we had around, using an Atmel micro-controller for glue.

We had a general plan, enough EE competence to pull it off, and were ready to go.

So what stopped us? The Nokia brick. It was known as "the brick" because it was big, heavy as a brick and was virtually indestructible.

It was seriously robustly made. We were simply not able to pull it apart to source parts.

It probably didn't help that we were all students and after a while we got fed up and just wanted to drink beer instead.

Congrats on, unlike us, actually pulling it off :)

<comment><AUTHOR> The idea is 100% original, we just had the 100% original idea independently :P Yeah, I don't think this would be possible without the Arduino or a similar embedded processor, and it would certainly be waaaay more involved and slow if I had to do it with custom parts. Nowadays, slap a GSM shield on a $10 Arduino, done.

We truly live in amazing times.

<comment><USER6> _Nowadays, slap a GSM shield on a $10 Arduino, done._

You can buy an _entire phone_ for that price:

[http://wiki.hacdc.org/index.php/$7_cell_phone](http://wiki.hacdc.org/index.php/$7_cell_phone)

Then add a $1 PIC to handle the glue logic and you're done. Collecting the dial pulses could probably be done with the USART configured to 10 baud and 9 bits (the first pulse counts as the start bit, and then you get up to 9 more, nicely mapping to the maximum of 10 pulses you need.) Or if you're really feeling adventurous, modify the original firmware to interface directly to the hardware... But that would mean doing _real_ embedded work, and you wouldn't be able to mention "Arduino". ;-)

<comment><AUTHOR> > But that would mean doing real embedded work, and you wouldn't be able to > mention "Arduino". ;-)

Or even do it at all, because I didn't have a month to spend doing _real_ embedded work for a wacky idea!

</comment></comment></comment></comment><comment><USER7> What you do next is you go to a a Starbucks in a big city, pick a table somewhere in the middle of the store, take out the rotary phone and start calling people there. You will immediately become the biggest hipster of the local community. Given how eager people are to share pictures of edgy people on the Internet, you are looking forward to world fame here.

<comment><AUTHOR> I have actually done this, and people thought I was crazy for talking on a disconnected rotary phone. It's a great conversation starter and pretty funny, though. Especially when you call their phone and it rings, people are astonished.

<comment><USER8> I love this project. The great thing about it, unlike many technically impressive projects, is that it's only going to get more and more fun to take this out as time goes on. If you seem crazy now, pull this phone out again in 10 years and check the reactions then.

We're entering a time where not only will it seem odd that some guy is talking into a disconnected rotary phone, but soon many people won't even know what it is that you're talking into. I was in a store the other day, and my daughter, who is almost 3 years old, pointed to a store phone mounted on the wall in the toy department and asked me "what's that?"

</comment></comment></comment><comment><USER9> > A clean way to do this is with events. The Arduino doesn't work that way, as > you continuously have to ask "is this button pressed?" many thousand times a > second, but one can rather easily fake an event-driven architecture on top > of this with some code.

[http://www.arduino.cc/en/Reference/AttachInterrupt](http://www.arduino.cc/en/Reference/AttachInterrupt)

<comment><AUTHOR> That's pretty good, but it can only handle two interrupts, and you can't delay in the function. I suspect it might have messed with the shield somehow, and it wasn't really necessary for the rotary dialer because the phone isn't doing anything else while waiting for the pulses.

<comment><USER10> I am surely missing something, why would you want to delay in the function?

<comment><AUTHOR> The GSM shield messes up if you poll too often, IIRC.

<comment><USER11> You should reevaluate your architecture.

Instead of delaying in code, think about having the main loop enter the execution routines of a few FSMs (modem FSM, i/o FSM, etc). In this model, a FSM state function can just return early if it's waiting for an even, giving execution time to other FSMs.

Of course, a better approach would be to run a RTOS on your uC, like the venerable FreeRTOS. Then you can just run tasks that can sleep, communicate via queues, and you can even get preemption if you wish. But I'm not sure it's available for the Arduino.

Additionally, since you're using a SIM90x, why are you polling the modem? Out- of-band events (incoming call, new text message) usually arrive in the form of Unsolicited Messages, like +CMTI for a new SMS or RING for an incoming call. You can interrupt on each character received via UART, and do your processing there.

<comment><AUTHOR> That's how it works now (the FSM), which is why an interrupt isn't really necessary (the rotary dial state doesn't do anything other than poll for the dialing). Also, it's a bit overkill to load a RTOS for the 50 lines of code this thing has.

The polling of the shield is done because that's the way the shield library works, and I didn't want to rewrite the entire thing when it works fine as it is now, really...

</comment></comment></comment></comment></comment></comment><comment><USER12> Unfortunately not even a shoutout to the nearly-identical Sparkfun project from over 10 years ago... [https://www.sparkfun.com/tutorials/51](https://www.sparkfun.com/tutorials/51)

<comment><USER13> The question you're begging might be answered by the "over 10 years ago" bit...

</comment></comment><comment><USER14> As others have pointed out, this has been done many times before. There's even a commercial product to pair an analog phone to a Bluetooth cell phone.[1] It generates proper ring voltage and dial tone, and a fast busy tone if it lacks a connection to the phone system, so it does the whole job of emulating land line.

We have one of those in our steampunk telegraph office[2], connected to a 1970s Singapore-made imitation of a 1930s French phone equipped with a Japan- style telephone plug. It's popular with small children. ("It's so heavy!")

[1] [http://www.amazon.com/Xtreme-Technologies-BT-Bluetooth- Gatew...](http://www.amazon.com/Xtreme-Technologies-BT-Bluetooth- Gateway/dp/B00135XU7Q) [2] [https://vimeo.com/124065314](https://vimeo.com/124065314)

<comment><USER15> Nice vid. That woman's outfit was great, too!

</comment></comment><comment><USER16> Now just size it down to the dial only with a tiny mic/speaker and turn it into a watch/phone.

<comment><USER17> We need a virtual rotary dial "keypad" for our smartphones!

</comment></comment><comment><USER18> Really fun project and great end result, although sucks you couldn't make use of the original bell.

I recently bought an AT&T Traditional 100 touch tone phone with a similar project idea in mind. Fun bonus: the model has a mute button, ringer volume switch, and redial. I really really want to be able to make use the original ringer, but I haven't got anywhere with the electronics.

Did you learn anything about activating the ringer with an arduino, or did you know from the beginning that you had to cut it due to space constraints?

<comment><AUTHOR> This phone also has a two-state button, which I made into "force dial" (when you've already dialed some numbers) or "redial" if you haven't dialed anything.

Someone did actually post a way to use the ringer, with a circuit that can convert the battery's 5V to 50V, but there is very very little space in the phone as it is, and there's no way to fit the ringer itself in, let alone the new circuit. I've made my peace with it, though!

</comment></comment><comment><USER19> This is an awesome project. After watching all of his videos this[1] one is the most curious, because you could probably get his phone number by measure the time it takes for a digit to dial. Not that this is something I would endorse but it came to my mind the second he tried to hide the dialing process.

[1] [https://www.youtube.com/watch?v=v_e1oqCkeng&feature=youtu.be...](https://www.youtube.com/watch?v=v_e1oqCkeng&feature=youtu.be&t=107)

<comment><AUTHOR> I think I also mention the fact that you can get it from the timings in the video, no?

</comment></comment><comment><USER20> From part one[1] (which I'd recommend reading):

> Sometimes it will miss a number, as these phones aren't 100% accurate, and > there's no way to know what you dialed, because there's no screen. I know, > how did we even manage to stay alive back then? If you botch a number, > you'll have to hang up and redial.

Does anyone remember this with rotary phones? I was pretty young when they were still in use, but I don't remember this being an issue.

[1]: [http://www.stavros.io/posts/irotary-part- one/](http://www.stavros.io/posts/irotary-part-one/)

<comment><AUTHOR> It's really rare, and it was more pronounced in the old phone, so it may have been a problem with the specific dial. The new phone has very very low error rates.

</comment></comment><comment><USER21> A tiny bit of criticism. "The entire build cost something like $150 in parts and $2000 in development time."

I think adding a price to a personal project takes part of the fun out.

Anyway, nice work!

<comment><AUTHOR> I agree, I don't care about either, since it was very fun to work on! However, some people were asking me how much it cost, and saying it cost $150 in parts would be misrepresenting the time I spent working on it, so I thought that including the time would be more accurate. The $2000 price tag is a bit tongue-in-cheek.

</comment></comment><comment><USER22> Awesome job! If you haven't already submitted this to hackaday then you really should: [http://hackaday.com/submit-a-tip/](http://hackaday.com/submit-a-tip/)

<comment><AUTHOR> Oh, thanks, I'll do that now!

</comment></comment><comment><USER23> Want! I have actually used such a converted phone at 31c3. Someone from the Warpzone hackerspace in Münster, DE has built one. He even managed the trickery to drive the original ringer with a simple battery.

</comment><comment><USER24> "it's not like you can exactly text your friends on it (you need the typewriter addon for that)"

A typewriter and a monochrome CRT screen, connected wirelessly. A mobile office for an on-the-go hipster.

</comment><comment><USER25> A classy product and an even classier write-up!

"Having solved two problems with one excuse,..."

I trust I am free to also use this phrase? Beautiful!

<comment><AUTHOR> No! It is trademarked. Here's the trademark: ™

But seriously, sure, go ahead!

</comment></comment><comment><USER26> Nice! Reminds me of my project to hook up my lineman's handset to our IP phone system at Splunk :)

</comment><comment><USER27> Can't wait till I start seeing all the hipsters carrying around rotary phones! Nice work OP.

<comment><USER28> Hipsters already do, at least the cool ones.

</comment></comment><comment><USER29> This is crazy! You could sell these, I'm sure there's a market for them. Great hack!

<comment><USER28> Sparkfun did for a while [https://www.sparkfun.com/products/retired/287](https://www.sparkfun.com/products/retired/287)

</comment></comment><comment><USER30> Nice, similar project has been on my to-do list for ages.

</comment><comment><USER31> Hats off to you, good sir.

<comment><AUTHOR> Why thank you, my kind fellow.

</comment></comment><comment><USER32> How can I buy one? :P

<comment><AUTHOR> Unfortunately, there's only one in existence!

<comment><USER33> I'm afraid this project has been done many times by many people. SparkFun has even made a (now retired) kit. [https://www.sparkfun.com/products/retired/287](https://www.sparkfun.com/products/retired/287)

[http://rotocell.blogspot.com/#](http://rotocell.blogspot.com/#)!

<comment><AUTHOR> Oh no :P

I know other such conversions exist, I meant I only made one. I did it because it was fun, though, so I don't mind that there are others.

<comment><USER33> My mistake. I misunderstood the meaning of your other comments.

</comment></comment></comment></comment></comment><comment><USER34> Love it!!!!</comment>


16 year old college student's dream: exit with $1billion before 25 - <AUTHOR> http://valleywag.com/tech/pre_op/id-love-to-exit-with-a-good-1-billion-hopefully-by-25-255408.php <comment><USER2> Wow. Planning to hit the Forbes billion list within a decade. Even Brin and Page wouldn't have had the balls to claim that in 1998. Respect for the ambition, but a bad role model nonetheless.

<comment><AUTHOR> What the heck does she even _do_?

</comment></comment><comment><USER3> She has that _X of Y_ one-liner down: _"Our company sets out to be the eBay of services."_

</comment><comment><AUTHOR> She seems to dig making money, "I was running C's in school, but I didn't think much of it because I was making more than my teachers were."

<comment><USER4> That's not actually that hard to do, given how little many teachers are paid.

I made more straight out of high school than most of my teachers did. And a bunch of my friends were running $20/hour web design businesses while in high school, which (on an hourly basis) is more than our teachers were paid. This was 1998-1999...it's amazing how much teenagers can make in boom times.

</comment></comment><comment><USER5> > _"I'd love to exit with a good $1 billion, hopefully by 25."_

Everyone wishes that.</comment>


Tell HN: Twitter count.json endpoint has been disabled; 3rd party buttons broken - <AUTHOR> API now returns 404.<p>If you roll your own Twitter button (as I do on my blog, hmrph), I recommend you fix it. <comment><USER2> Even better would be to drop it. You might care how many times your article was shared but why would your visitors? (And if you think having a large share count will encourage more people to share it, just put in a fake number).

</comment><comment><USER3> Check out [http://opensharecount.com](http://opensharecount.com) for a drop in replacement...</comment>


Ask HN: I want to start a vertical ad network, any recommendations for tools? - <AUTHOR>

I'm starting a vertical ad network in the smartphone apps space (developers and development studios would come to us to promote their apps on our network of app review websites).
I have a portfolio of websites to seed the network with, and the aggregate monthly pageviews is already non-trivial. So no problems, there. I also have a reasonably strategy to acquire advertisers.
I'm looking for recommendations around: 1. Which Ad server to go with 2. Back-office services: billing and payment distribution to partner publishers
I've looked at Adify (very pricey setup fee and no trial), and have applied to the iSocket beta.
Anyone have any suggestions or experience with something like this? Thanks! <comment><USER2> Feel free to email me about deploying our targeting ad server.

When I was in your shoes a year ago, I found out I had to write my own. In advertising, you either have the technical know-how or you have the sales force. You can't just use OpenX, sit back and hope to make money.

It is a sick twisted industry, but it pays my bills.

<comment><AUTHOR> Is your email ID in your HN profile current? It just bounced.</comment></comment>


FB is the only social service not dropping the ball on users' current location - <AUTHOR> http://blog.tripl.com/post/31464291529

<comment><USER2> >This post was written by Tripl's CEO Peter Sullivan

That sets a certain expectation in my mind for what I'm about to read.

>we are location 'whores'

Interesting word choice

>First the first time ever

Simple mistake

>Users' current location is a great way to gather proper metrics, segment advertisement, and A/B test on different regions, however most of these services aren't connecting the user's location to an object or indexing it with structure.

Run-on

>Its something

Should be _It's_

...

I'm done.

<comment><USER3> I'm glad I saw this comment on here. I was thinking the same thing. Why did they make it over obvious (at the beginning of the article) that the author was the CEO? Why not just a simple tagline at the end or put that whole block of text at the end of the article. By making it such a big deal at the beginning, like they did, I did exactly what you did. I scrutinized the article much more, naturally, because I figure it had more importance since it was such a big deal that it was "written by the CEO".

<comment><USER4> Sounds like a CEO who needs to be reminded that he's also the janitor.

</comment></comment></comment><comment><USER5> Assuming the author/OP isn't trolling, I think he's confusing "current city", "hometown", "location" and other such fields with the user's actual current location.

The first three, when implemented as free text fields, are rarely updated by users, and meant to represent where someone is from or where their home is now. As free text fields, they allow for some degree of personal expression. They're not designed for API consumers, they're designed for users. This doesn't make them wrong, and it doesn't mean these platforms are dropping the ball: it means these platforms have made a design decision that the OP finds inconvenient. Even if these were implemented as parseable geotags, they are so rarely updated by users that calling them "current" is in most cases misleading.

Actual current location information is given in Foursquare's checkins, Twitter's tweets, and Google+'s posts - just like it is in Facebook's status updates. AFAIK, all of these use parseable geotags.

If I were an investor in Tripl (Roland Zeller?), I would worry about a CEO with such a poor understanding of API semantics and the platforms underlying his company.

<comment><AUTHOR> No I use the term "current location" as Facebook labels it. You are correct in saying that other platforms call this differently but they are all asking the same general question. "Where do you normally live now". I think you are incorrect in the sense that this shouldn't be a supported part of the API. If your platform is based on Geo (Like Foursquare) then you can of course utilize additional checkins to help solidify the concept of a users "current location" but I still think its really important to index properly. These design decisions that you talk about were implemented before they were supporting geo tags in the API. I think its an easy design change to support this methodology. The platform, the users, and the developers would all gain.</comment></comment>


Microsoft will unify most 'Minecraft' platforms this summer - <AUTHOR> https://www.engadget.com/2017/06/11/minecraft-better-together-bedrock-engine-ps4-xbox-360/ <comment><USER2> So, is modding only really possible in the Java edition?

<comment><USER3> Yes. (They've added more and more abilities for custom maps into the base game, but these come nowhere close to what's possible by modding)</comment></comment>


As embarrassed as Apple should be right now, will it buy Tomtom? - <AUTHOR> http://news.cnet.com/8301-13579_3-57558758-37/apple-could-make-bid-for-map-firm-tomtom-analyst-says/

<comment><USER2> Mention of the word 'embarrassed' in the title or body of the original article, 0.</comment>


Microsoft's Silence is Infuriating .NET Developers - <AUTHOR> http://www.infoq.com/news/2011/06/Win8-Doubt <comment><USER2> Has anybody actually met one of these Infuriated .NET developers?

I use the .NET stack for pretty much everything I do, and I'm not even slightly worried that the next version of Windows will make my life worse. I can't even come up with a way in which they could do so.

I get the feeling that there is some PR agency somewhere inventing these stories for some motive of their own.

<comment><USER3> I don't know about "met", but for the past week or so, I've seen lots of "the sky is falling" on Twitter from pissed off .NET developers.

I think much of it is an overreaction, but Microsoft's native development story the past few years has given them room for concern. You're correct though, that the idea that there won't be .NET applications being developed and deployed over the next decade is pretty ridiculous.

I definitely think this is a PR disaster for Microsoft. Whether warranted or not, if Windows developers feel like they're investing in deprecated technology, there's a chance that what they jump to won't be controlled by Microsoft.

<comment><USER4> _there's a chance that what they jump to won't be controlled by Microsoft._

... like HTML and jQuery ?

<comment><USER5> People are naturally resistent to change

<comment><USER4> No, I suspect it is a deeper fear. C# and Java devs have always commanded higher rates despite the HTML devs producing better looking apps and cheaper rates. With HTML being a first class citizen, I'm afraid this heralds the end of the .NET gravy train.

<comment><USER6> I have quite a few friends doing .NET for a living, and I can safely say that I make more than them using Ruby at work (at an ad agency, no less). They would definitely not call their jobs a "gravy train."

<comment><USER7> One word: outliers.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> From what I've read, it looks like the people most concerned are the ones who have become accustomed to the 'visual' programming interface. I left corporate IT over 8 years ago for my own biz (after over ten years of doing it nights and weekends) but I was an administrator and an MCSD/MCDBA who made unix and windows play nice together so I often was approached with broken enterprise apps that almost always turned out to be Access .mdbs or VB programs that were being used by hundreds of people across large networks for critical (often financial) tasks. Fixing them taught me a lot about the capabilities of the authors (hard working good people) who were allowed to appear as much better software developers than they actually were.

Going through 'wizards' and setting properties in a drag and drop visual environment are great for prototyping but these developers were often pressured by their managers to make these prototypes live immediately. Problems were fixed with 'work arounds' and users complained constantly. Often, all I had time to do was clean it up, trim it down and move it to a SQL Server. A temporary fix at best.

I can only imagine that the fear of losing support for these tools is driving a lot of the forum posts that I have seen.

I for one am extremely curious to see what microsoft considers to be HTML5.

<comment><USER9> _From what I've read, it looks like the people most concerned are the ones who have become accustomed to the 'visual' programming interface. ... Going through 'wizards'_

You read wrong. Expression blend is not a wizard. It's more like Photoshop.

</comment></comment><comment><USER10> Rumor has it, leaking info coming at BUILD is insta-termination. And while that's old hat for Apple employees, devs targeting the Microsoft platform aren't used to surprises or secrets.

Of course, who else is expecting to just hear that Silverlight _is_ HTML5? Code targeting it and any HTML5 browser will be able to run the apps, with a better ("native") experience on Windows, but supported on those other platforms... :-)

<comment><USER11> The funny thing is that alpha builds of Win8 itself have already been leaked, and people have been deciphering the various new DLLs. There's apparently a new native UI framework that's based on, but not the same as, Silverlight (similar to how Silverlight is based on WPF)

<comment><USER12> The thing you want to plug into Google here is "Jupiter", or "Jupiter UI"

</comment></comment></comment><comment><USER13> I'm sorry, but Silverlight developers can wait 2 months to hear info about an operating system that's more than 12 months from release.

<comment><USER14> The only logical stance is that they're going to kill Silverlight and don't want to say anything until they have all their ducks in a row.

However, Microsoft isn't necessarily logical. They may simply have not expected people would read this from their Win8 demo and nobody in the company is willing to speak up about Silverlight's roll in Win8.

Either way, this is bad PR for Microsoft.

<comment><USER9> _However, Microsoft isn't necessarily logical_

It's not useful to think of it in terms of what "Microsoft is" or "Microsoft isn't". Microsoft is a very big place, and the internal power struggles are what shape it. In this case, it's Windows division under Steven Sinofsky versus Developer Tools division. DevDiv owns .Net, WinDiv is less keen on it, and they have IE9 now.

Sinofsky is the one who came up with the "native html" non-sequitur at the mix11 conference. How do you start to try to get platform-specific coders to adopt a cross-platform lowest-common-denominator technology? Call it "native".

If this is Kremlinology then so be it. it's the only way to make sense of MS. It's sad that their best technologies are used as ammo in internal battles.

<comment><USER4> Don't forget, WPF held up LongHorn and they had to reboot their development. By taking care of the windowing framework deep within Windows (presumably the underlying code is unmanaged) and removing the dependency on .NET, Windows division is ensuring that they will never suffer the humiliation of delays because of DevDiv.

</comment></comment></comment></comment><comment><USER15> There is nothing Microsoft could say to appease .NET developers. Obviously .NET and Silverlight aren't going away, everybody must know that. The only reason people are so mad, is because now they are not the only courted workforce anymore.

<comment><USER4> There is probably another reason here. WPF and Silverlight were meant to bring rich beautiful interfaces to Windows. But they did not succeed not because of the technology. The reason is precisely because a majority of the people who are prepared to learn .NET is the old breed of developers who still think in terms of WIMP interfaces. So years after WPF, there are few good looking apps in the wild.

In contrast, the devsigner community in HTML is vibrant and competitive. Just look at how many beautiful SaaS apps there are.

MS needs these people working on their stack and they realize Silverlight and WPF is a hard sell for these people who already have HTML chops. If they could get these devsigners working on Windows, it will present a shot in the arm for better looking UI on Windows again.

<comment><USER16> No, as a WPF/Silverlight developer, I think those technologies failed to take off because the development workflow of WPF/Silverlight simply sucks ass. Expression Blend is awful and is incompatible enough with VS that it becomes a nuisance to use.

XAML, WPF and Silverlight were designed by .NET developers for .NET developers, but marketed towards designers. You cannot develop/design in that ecosystem without already knowing C#, VS project and solution files. The workflow was very dev-centric, and that's why I think it failed to take off as MS would like.

<comment><USER4> Well, the tools may be awful, but designers are not easily persuaded to change their tools. Even today, Photoshop trumps Illustrator in popularity. There is _no_ workflow from PSD to HTML other than a secondary market of slicers. If MS wished to succeed, it had to bring the same familiar workflow into the process.

 _The workflow was very dev-centric, and that's why I think it failed to take off as MS would like._

+1

</comment></comment></comment></comment><comment><USER17> As a .NET developer myself I will be glad to share with all of you that the only people who are infuriated by any of this are morons who think html/js widgets are replacing the .NET CLR + Framework/Library + C#. I won't argue with morons and neither should you.

</comment><comment><USER18> I'm a newbie to JavaScript, who got in primarily for the upcoming "web audio API" in webkit. As I code, I realize how capable the JS engines have become over time - enough to do some "serious" math for audio. Also seeing WebGL taking hold, I must say that I'd certainly consider JS as a serious contender for the likes of .Net etc and am glad to see MS and HP also think along those lines. Add in the fact that you can use it on the server side as well, and the argument for it is even more compelling.

I don't have any qualms saying that those who choose to stay out are depriving themselves of what starting to be a productive app dev platform across the board, with C++ serving as the "dive in for performance" level.

<comment><USER19> "Also seeing WebGL taking hold, I must say that I'd certainly consider JS as a serious contender for the likes of .Net etc"

At most I would say JavaScript can be a "serious contender" to a very small subset of .NET. There is no way you can just substitute everything .NET offers with a mix of html5 and JavaScript. That's why I don't think anyone doing .NET development should be in the least bit concerned. That is unless they have some irrational phobia of having to learn something new for their presentation layer.

<comment><USER18> Any examples? HTML5+JS does look quite rich as a presentation layer. Well, rich enough for Apple to build iAds on it, WebOS to build its UI layer on it .. and, on the topic, even MS is basing the Win8 presentation layer on it.

Is your point only about the presentation layer or about other parts of .Net?

<comment><USER19> To clarify:

HTML5+JS is only suitable as a replacement to the presentation portions of .NET (so WPF or WinForms), which are just a small portion of everything that .NET is. Think of .NET as being a Humvee and HTML5 and JS as a motorcycle, and developing your application as going to some remote location in Alaska -- while the motorcycle will look great, it will only get you so far, and you need something more for the rest of the road that can also carry a motorcycle if need be.

JS is a language that primarily lives in the browser and doesn't come with anything that would allow you to access much of the computer it is running on. We're talking about applications that will be executing natively here, so things like access to the file system are a must. You can of course try to use something that implements the CommonJS spec, like NodeJS, but are you honestly going to throw out the massive amount of libraries Microsoft created for doing IO, database connectivity, concurrency, networking, and a whole lot more, for something as minimalistic as an implementation of the CommonJS spec?

There are other problems on top of this. People say JavaScript is "fast", and it's true when compared to JavaScript a few years ago, but it is not true when compared to most .NET languages. Objects essentially being associative arrays in JavaScript means accessing a value that is deeply nested in a hierarchy of objects is slow. While even a problem now, it would get much much worse if you were to throw in the large number of libraries needed to make HTML5 and JS into a general application development framework. Stuff like: Com.Company.Project.Class.Member.Member.Method(); simply takes too much time in JavaScript. Same story for deep inheritance chains you often see in desktop apps.

Another problem: If your whole application is going to be in HTML5+JS, your whole application's source code is going to be public. You can try obfuscation, but I personally wouldn't put much faith into that approach.

.NET was built from the ground up as a whole application development framework -- it does this well. While HTML5+JS overlap with .NET in some areas, their scopes are still much smaller in comparison, and are therefore not suitable as complete replacements to .NET.

</comment></comment></comment></comment><comment><USER20> i don't think silverlight is going away in the nearest future, but if you're really "infuriating", the only reason i can assume is that you based your whole business in a proprietary technology owen by a company known for promoting something new, and making it obsolete after two years. you jumped with both feet in a technology that won't be an official standard and multiplatform like one of the competitors (html5 + js) nor as widespread like the other most direct competitor (flash).

that would be _your_ fault, not microsoft's.</comment>


Classic Programming Quotes - <AUTHOR> http://www.storm-consultancy.com/blog/development/random-bits/classic-programming-quotes/ <comment><USER2> "If you must break the loop, do it to sieze power; in all other cases continue." -- Julius C'ster

</comment><comment><USER3> _There are two hard problems in computer science: cache invalidation, naming things, and off-by-one errors._

\- Twitted to death. My source: <http://twitter.com/#!/leahculver/status/26690101915>

</comment><comment><USER4> There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.

 _-C.A.R. Hoare_

</comment><comment><USER5> "Some people, when confronted with a problem, think 'I know, I'll use regular expressions.' Now they have two problems."

<comment><USER6> "Some people, when confronted with a problem, think 'I know, I'll use XML.' Now they have two problems."

<comment><USER6> Downvoting? This is actually the quote I heard, though I know regexp'es are older than XML (and a good deal more useful, if you ask me).

</comment></comment></comment><comment><USER7> "When it came to programming, I was the 'go-to' guy in the office. I didn't know how to write loops."

</comment><comment><USER8> Similar submission for those who want more programing quotes (recently was also posted on HN): [http://www.devtopics.com/101-great-computer-programming- quot...](http://www.devtopics.com/101-great-computer-programming-quotes/)

</comment><comment><USER9>
      Saying that Java is good because it works on all platforms
      is like saying anal sex is good because it works on all
      genders.

Okay, let's be clear. Anachronistic != Classic.

</comment><comment><USER10> Complementary: [http://stackoverflow.com/questions/58640/great- programming-q...](http://stackoverflow.com/questions/58640/great-programming- quotes-closed)

</comment><comment><USER11> There are three ways of doing things around here: the right way, the wrong way, and the way that I do it.

 _Robert De Niro ~ Casino_

</comment><comment><USER12> [http://freakonomics.blogs.nytimes.com/2009/05/14/quotes- unco...](http://freakonomics.blogs.nytimes.com/2009/05/14/quotes-uncovered- the-universe-and-stupidity/)

</comment><comment><USER2> "I came, I coded, I crashed" -- Julius C'ster

</comment><comment><USER2> "The double is cast" -- Julius C'ster

<comment><USER13> "Segmentation fault (core dumped)" -- Program using cstrs.

</comment></comment><comment><USER14>
      Debugging is twice as hard as writing the code in the first place.
      Therefore, if you write the code as cleverly as possible,
      you are, by definition, not smart enough to debug it.
      - Brian Kernighan

my fav :)</comment>


6.8% of TV households aren't ready for digital transition - <AUTHOR> http://www.businessweek.com/technology/content/jan2009/tc2009018_712771.htm

<comment><USER2> Er, I _swear_ I'm getting a converter box REAL SOON NOW. (what, get cable? -- too distracting... plus, the romance of the rabbit ears!)</comment>


A better console.log - <AUTHOR> http://www.devthought.com/2012/03/26/a-better-console-log/ <comment><USER2> Webkit (and Firefox?) emits _live_ objects via console.log, instead of strings. Nothing is more frustrating than tracking down odd behavior, only to realize way too late that you've had unreliable logs. That's why we don't use console.log; instead we've installed a global logger object which always prints real strings. As a bonus, it keeps a ring-buffer of log messages and on logger.error events, it posts that buffer to the server.

EDIT: Here's a Gist: <https://gist.github.com/2210783>

</comment><comment><USER3> Don't we already have console.trace?

</comment><comment><USER4> As a curiosity, the bult-in logging module from Python provides the same features (file name, line number): [http://docs.python.org/library/logging.html#logging.LogRecor...](http://docs.python.org/library/logging.html#logging.LogRecord)

</comment><comment><USER5> Please, people. If we mean "use" can't we just use the word "use"?

</comment><comment><USER6> Sometimes I think there's a special place in hell reserved where you are fooled into thinking you can get out if you can add just... one... more... layer... of logging abstraction.

Or maybe this is a development phase all programmers go through where they fixate on the mechanism for finding bugs instead of the bugs.

I mean, sure: logging files and line numbers with messages is useful sometimes. I think we all do it when chasing bugs. But is this really something that needs to be abstracted and pickled for posterity? Imagine looking at dmesg or syslog output and seeing all those source files you'll never read.

<comment><USER7> Webkit prints the file and line number out in console.log. I use it all the time, but I guess that's because it also links to that point in the code.</comment></comment>


Global heating to inflict more droughts on Africa as well as floods - <AUTHOR> https://www.theguardian.com/science/2019/jun/14/africa-global-heating-more-droughts-and-flooding-threat <comment><USER2> I wonder how long it will be before news media are able to say "Global Climate Disruption" instead of just "warming" or "heating".

And I wonder if "warming" will develop a connotation of disaster, requiring some other word when you don't want to alarm people.

Assuming civilization and literacy survive long enough...</comment>