Fastcat – A Faster `cat` Implementation Using Splice - <AUTHOR> https://matthias-endler.de/2018/fastcat/ <comment><USER2> > "Nice, but why on earth would I want that?" I have no idea.

I know this is referring mostly to the `cat` portion and not the `splice` portion of the article, but I'll throw in a quick shoutout to `splice` for giving me one of the single biggest build performance wins in my time at Zynga (and possibly across most teams at the company at the time).

We had a ruby script which ran the majority of the build, and as the game grew we found that by far the slowest part was a loop which MD5 hashed each individual asset and used that as its filename on our CDN for per-asset- versioning.

At its worst it was taking nearly an hour and a half; the code was basically as inefficient as you could make it - multiple shell calls for each file rather than any sort of inlining of the hashing process.

I wrote a basic C program using splice and an MD5 library which took the whole process to under 10s. A bit overkill, perhaps, but the naive speedup I tried first still took over 1-2 minutes, and I figured 99.99% was worth the extra few hours to put it together knowing how many builds we ran each day.

Definitely gave me a healthy appreciation for the cost of transferring to user space that has stuck with me.

</comment><comment><USER3> > In this case, if you notice that cat is the bottleneck try fcat (but first > try to avoid cat altogether).

"Useless Use of Cat Award" [0] is the canonical text for avoiding unnecessary use of cat, for those who haven't come across it yet.

[0] [http://porkmail.org/era/unix/award.html](http://porkmail.org/era/unix/award.html) (2000)

<comment><USER4> Last time I posted a link to that, I received quite a few replies where people find it more natural to use `cat file | …` even when unnecessary — so even though I agree with the intent of the page I feel like it's useless to try and evangelise every case. If cat is the bottleneck though, fair game.

<comment><USER5> First, if cat is slower than redirection from file (<file) - then I'd say something is amiss. But more to the point - I think it's really a bug that tools like gzip, grep, awk etc work on files at all. We do need a tool to feed files to pipes (I think cat is a fine candidate for that - also when we only con-cat-enate one file (the identity cat, if you will).

Maybe there are cases where a long string of awk|something|other|sort|uniq is _not_ the problem, but forking an extra process for cat is.

And maybe there's a mismatch between pipes, files and mmap today. Splice seems like a reasonable fix (if we splice all the things, awk, grep etc).

Finally, I just think:

      cat input.txt \
       | filter1 args \
       | filter2 args \
       | reduction \
       | ouput-formater

Reads better than having to tack on an <input.txt at the end, or special-case the first filter to be (... And also open a file).

<comment><USER6> You don't _have_ to put the redirection at the end, you can write

        < input.txt filter1 args # ... rest of pipeline

(But I agree that the cat version is more readable.)

<comment><USER5> True. I might not mind as much if it was (possible to, in a sane way, do): "< input | (...)"

</comment></comment></comment></comment></comment><comment><USER7> I re-implemented it in C and for some reason O_APPEND is set on stdout by default.

But aside from that it works just as the Rust version.

      #define _GNU_SOURCE
      #include <fcntl.h>
      #include <stdio.h>
      #include <stdlib.h>
      #include <string.h>
      #include <unistd.h>

      #define BUF_SIZE 16384

      static void unset_flag(int fd, int flag) {
      	int flags = fcntl(fd, F_GETFL, 0);
      	flags &= ~flags;
      	fcntl(fd, F_SETFL, flags);
      }

      int main(int argc, char** argv) {
      	int pipefd[2];
      	pipe(pipefd);

      	unset_flag(STDOUT_FILENO, O_APPEND);

      	for (int i = 1; i < argc; ++i) {
      		int fd = strcmp(argv[i], "-") ? open(argv[i], O_RDONLY) : STDIN_FILENO;
      		if (fd < 0) {
      			fprintf(stderr, "%s: No such file or directory\n", argv[i]);
      			exit(1);
      		}

      		while (splice(fd, NULL, pipefd[1], NULL, BUF_SIZE, 0))
      			splice(pipefd[0], NULL, STDOUT_FILENO, NULL, BUF_SIZE, 0);

      		close(fd);
      	}

      	return 0;
      }

WTFPL if anyone cares.

<comment><USER7> Turns out the buffer size is significant: [https://imgur.com/a/f4LiHVI](https://imgur.com/a/f4LiHVI)

With 32kiB buffers I get double the throughput than with 16k, the peak appears to be at 64k, after that it levels off.

<comment><USER8> Direct link to the image: [https://i.imgur.com/5jOb1yo.png](https://i.imgur.com/5jOb1yo.png)

</comment></comment></comment><comment><USER9> Newer kernels also have the copy_file_range syscall (with compatibility shim in glibc) which is supposed to use the most efficient copying approach available between any two file descriptors. So it's more general than splice or sendfile.

</comment><comment><USER10> There is a ruby gem for Linux called io_splice that does zero-copy IO. Hasn't been updated in a while but it doesn't have any dependencies other than modern Linux and doesn't mean it won't work. "Old" code that works still works, novelty, job-securitization and API churn be damned when it doesn't add value.

[https://rubygems.org/gems/io_splice/versions/4.4.0](https://rubygems.org/gems/io_splice/versions/4.4.0)

[http://www.bigfastblog.com/zero-copy-transfer-data-faster- in...](http://www.bigfastblog.com/zero-copy-transfer-data-faster-in-ruby)

EDIT: source to current stable coreutils' cat [http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob_p...](http://git.savannah.gnu.org/gitweb/?p=coreutils.git;a=blob_plain;f=src/cat.c;hb=e5dae2c6b0bcd0e4ac6e5b212688d223e2e62f79)

</comment><comment><USER11> The most interesting thing about all this to me, other than the existence of splice(I really should finish The Linux Programming Interface), is that you need a pipe and two splice operations to get the data between other file types.. There must be some dirty implementation detail forcing this right? Right?!

<comment><USER12> splice is implemented as a pipe, that's why. I think it's a beautiful design because pipes have been around forever and they just work.

</comment></comment><comment><USER12> >Windows doesn't provide zero-copy file-to-file transfer (only file-to-socket transfer using the TransmitFile API).

Anybody knows if the Windows TransmitFile API can also be used to make file- to-file copies?

<comment><USER13> It takes a socket handle.

</comment></comment><comment><USER14> Great educational post, but really someone needs to make a long awaited version called long cat!

</comment><comment><USER15> Tl;dr: splice() as a Linux-only, zero-userspace-copy, file-descriptor to file- descriptor copy that has to use pipes for one FD.

Interesting, but less than earthshaking.</comment>


Ask HN: Depression and job relocation - <AUTHOR>

I am located in Amarillo, TX where the tech sector is nearly non-existent and shrinking.  My employer is one of the few here that employs software engineers, but the work is trivial and doesn't make an impact.  The tech community here is basically zero.
I feel like my only option for career growth is to leave the area, BUT I have joint custody of my 7 year old daughter with my ex-wife.  Due to our geographical location, the nearest large city hubs are a minimum of 6 hours away (DFW, Denver, Austin), meaning I would see my daughter even less than I do now, which is heartbreaking.  I mull the decision daily to choose either my daughter, or my career.
It's very frustrating and depressing as I feel if I choose to stay here for my daughter that my skills will rot and by the time I am able to relocate I will be unmarketable and most likely out of a job.  I'm highly educated and feel that achievement has been a waste of potential so far because I am 'stuck' where I'm at.
Any advice is greatly appreciated. <comment><USER2> I'm in Austin with lots of family throughout the state. TX near the top of your post caught my attention.

flights from Austin to Amarillo are as cheap as they come; same with DFW, or Houston. You could probably still keep up with your daughter while working elsewhere; plus, the 6 hour drive isn't really a deal-breaker. I have a cousin that drives from Midland area to Lago Vista multiple times a month to see their kid; he's a painter, and makes it work on his wages. Invest in some audio books, point your car in the right direction, and press on the skinny pedal on the right!

If you're wanting to stay in that geography (I'm one of those rare people that actually LIKE North and West Texas), you can always look for work you can do remotely. There is a lot of this available, and companies in TX may be more likely to hire you if you are able to come for an introductory meeting and are operating in the same time zone.

best of luck!

<comment><AUTHOR> Thanks for the response! It was reassuring to know that this works for other people. Ultimately I'd like to be in Austin or DFW - my new wife and I aren't huge fans of the geography, especially with the wind and drought (dust storms).

I would be open to traveling to the office for introductions and even occasionally working on site.

Flights to DFW are relatively cheap and easy, AMA -> ATX is not a direct flight however and more expensive. One of my former co-workers drives from Austin to Amarillo each month, it seems the drive wears on him.</comment></comment>


A developer's introduction to Google Android - <AUTHOR> http://arstechnica.com/open-source/reviews/2009/02/an-introduction-to-google-android-for-developers.ars

<comment><USER2> strangely enough I was poking around Android this weekend as well - <http://shout.setfive.com/2009/02/23/hello-android/>

all and all, pretty smooth experience. now if only we had some Android phones...</comment>


GitHub: Yesterday's Outage - <AUTHOR> http://github.com/blog/682-yesterday-s-outage

<comment><AUTHOR> With all GitHub's server tech and architecture (described in fair detail in past blog posts), I'm usually surprised (and relieved a bit, I must admit) to see them fail at something.

</comment><comment><USER2> Does anybody else announce outages with twitter and other public communications servers offsite? At darkmists.org, we learned a while back that we could not trust even our ISP to keep us accessible to the world. The iPhone allowed me to at least use twitter to update our players and attempt to set expectations. (Some of our administrators also try to keep tabs with players via IM programs, but that is not scalable.)

<comment><USER3> I think it's pretty common practice to host your status site separately from your site so that connectivity issues at your datacenter don't bring your status site down as well.

Engine Yard has a Wordpress.com blog (and they don't even have it as a subdomain of engineyard.com. I guess in case their DNS goes down). Not only does GitHub use twitter, but they also have status.github.com hosted on EC2. Heroku has a status site on Slicehost.

It just makes sense. Connectivity is a pretty common reason for downtime. Why would you want a point of failure that can bring down your site and your status site?

<comment><USER4> > Not only does GitHub use twitter, but they also have status.github.com > hosted on EC2. Heroku has a status site on Slicehost.

Heh, that's a bit funny:

Github's hosted on Rackspace Cloud. They have a status page which is hosted on EC2 via Heroku. Heroku hosts a status page on Slicehost. Slicehost is... wait for it... run by Rackspace out of the same data center as Rackspace Cloud.

<comment><USER5> The main GitHub app is served from Rackspace's IAD data center on bare metal.</comment></comment></comment></comment>


The truth about vlogging - <AUTHOR> https://exquissesite.wordpress.com/2016/10/18/interview-wizardbonvin/ <comment><USER2> Current submission title "The truth about blogging" is a bit misleading.

Title of post is "[INTERVIEW] New vlogger Wizardbonvin"</comment>


Advanced task managers on iOS - <AUTHOR> http://download.cnet.com/8301-2007_4-57372276-12/advanced-task-managers-on-ios/

<comment><USER2> Not sure if an task / ToDo manager can be "advanced" without a desktop companion, or tight integration with one. Mobiles are handy, but not where work actually gets done.

So far, I have not warmed up to web based task managers, which lack the convenience that a local app can provide: hot key integration, interop with local calendars, mail, etc.</comment>


The Joy of Hex or Why I'm So Happy When I Program - <AUTHOR> http://terse.com/thejoy.htm <comment><USER2> > Why not order your Risk FREE copy of TERSE today?

Are ads allowed on HN?</comment>


The Truth About Protonmail - <AUTHOR> https://privacy-watchdog.io/truth-about-protonmail/ <comment><USER2> Who runs privacy-watchdog? Is it authentic? Is this a propaganda that big-tech firms want to spread that privacy is dead?</comment>


Another web interface for run ansible playbooks - <AUTHOR> For my routine job (deploy apps to about hundred of hosts using ansible) I implemented simple web interface for run ansible playbooks. It's completely open source, free and could be useful for someone else (I hope ;). https://github.com/node-ci/nci-ansible-ui <comment><USER2> Super cool. Thanks for the community contribution.</comment>


The government will hide its surveillance programs, but won't eliminate them - <AUTHOR> http://www.theguardian.com/commentisfree/2015/apr/11/the-government-will-hide-its-surveillance-programs-but-they-wont-eliminate-them

<comment><USER2> Whoudn't it be useful to collect here a general list of all actions we can do against the surveillance? So that everyone could choose whatever is personally preferable. I would suggest to continue this list.

1\. Use increasingly as much encryption as possible [0].

2\. Use FOSS whenever possible and promote it.

3\. Tell as many other people about it as you can [1].

[0] If we continuously make it increasingly harder for NSA, MOSAD, GCHQ and the rest of them to spy on us, we can increase the costs for such operations

[1] For example, like this [https://www.youtube.com/watch?v=XEVlyP4_11M](https://www.youtube.com/watch?v=XEVlyP4_11M) (via [https://news.ycombinator.com/item?id=9327003](https://news.ycombinator.com/item?id=9327003))

<comment><USER3> If you have some concrete action in mind and want to rally people around it, you can use this: [https://www.iwoulddo.it/](https://www.iwoulddo.it/)</comment></comment>


Redline is a Smalltalk for the JVM - Help Redline get to v1.0 - <AUTHOR> http://www.indiegogo.com/smalltalk

<comment><AUTHOR> "Almost every developer who has used Smalltalk still views it as one of the most advanced programming languages available. However, it has been out of reach for many developers because of its special, sometimes unfamiliar, tools. Redline opens Smalltalk up for wider mainstream adoption by allowing developers to bring and use their favorite tools, built on the world's most widely adopted and advanced virtual machine.".</comment>


A Horrible Experiment - <AUTHOR> https://mobile.twitter.com/bascule/status/1307440596668182528 <comment><USER2> There's a whole lot of random people chiming in and guessing on Twitter (shocker) so it is worth pointing out that:

> The algorithm does not do face detection at all (it actually replaced a > previous algorithm which did).

From [https://twitter.com/ZehanWang/status/1307461285811032066?s=2...](https://twitter.com/ZehanWang/status/1307461285811032066?s=20)

Not to say there is or isn't a problem to be fixed, more work is needed to understand. Such as the analysis at [https://twitter.com/vinayprabhu/status/1307460502017028096?s...](https://twitter.com/vinayprabhu/status/1307460502017028096?s=20)

<comment><USER3> Why is it worth pointing that out? Like you said, the problem is there either way. What are lay people supposed to gain from hearing that the algorithm's designers don't consider it to be based on face detection?

<comment><USER2> Because it has totally derailed many of the twitter threads. Thankfully we get less conspiracy theories here but I figured we could try and avoid it altogether.

</comment></comment></comment><comment><USER4> [https://twitter.com/SergioSemJ/status/1307493041742254080?s=...](https://twitter.com/SergioSemJ/status/1307493041742254080?s=19)

One theory is it's actually the glasses increasing the likelihood of correctly identifying a face (or "feature" element in the photo). Interesting looking through the various tests in the thread, as clearly lots of variables here, but no way this will be exhaustive.

Suspect this might kick off some serious arguments at Twitter HQ for allowing users to pick the cropping vs. an algorithm regardless of any bias found one way or not.

<comment><USER5> Here's an example where neither person is wearing glasses.

[https://twitter.com/LOVEMUNY/status/1307789227535499266](https://twitter.com/LOVEMUNY/status/1307789227535499266)

It also includes an example where the black man is wearing glasses and the white man isn't.

</comment></comment><comment><USER5> See also Zoom backgrounds: [https://twitter.com/colinmadland/status/1307111816250748933?...](https://twitter.com/colinmadland/status/1307111816250748933?s=20)

</comment><comment><USER6> Wonderful example of the ethics of ML. The people whose eyes they tracked gravitated towards certain kinds of faces (not necessarily just based on skin colour), so now Twitter's model crops other faces out of pictures, among other problems (now it likes cleavage apparently).

The old approach may have been a bit mechanical but it avoided the non- neutrality of unconscious human perception. The assumption that what human eyes gravitate to is what an image should be cropped to is a very big and questionable one. The first thing I look at in a picture is not always the most important part, and the image as a whole has value.

</comment><comment><USER7> The real problem I see here is the default assumption from many people that these is racial bias in the algorithm with no evidence thereof whatsoever. Thats how twitter works, shitstorm first, research later, evidence or corrections for false assumptions - never.

<comment><USER8> It's also how HN works. In a comment far below there's a link to a decent controlled experiment completely debunking this claim (outcome using controlled dataset: 40 white to 52 black faces chosen). But that comment is heavily downvoted.

[https://twitter.com/vinayprabhu/status/1307497736191635458?s...](https://twitter.com/vinayprabhu/status/1307497736191635458?s=19)

<comment><USER7> People want it to be true. Instead they should want to know if its true.

<comment><USER8> > People want it to be true.

This is the really disturbing thing. Why would someone _want_ Twitter to have race-based image cropping? And yet the behavior of many in the various threads is precisely as if they did! I think it may actually make them happier if it's true. Who are the real racists, again? It's hard to tell sometimes.

And after all, doesn't the Twitter OP acknowledge this inevitable result when calling it a "horrible" experiment?

<comment><USER7> >Why would someone want Twitter to have race-based image cropping?

-Victim mentality -Virtue signaling -Having a "proof" for a common enemy (twitter, social media , big evil corp etc. etc.)

</comment></comment></comment></comment></comment><comment><USER9> Interestingly, swapping the glasses does seem to make the thumbnail Obama. [1]

1\. [https://twitter.com/SergioSemJ/status/1307493041742254080?s=...](https://twitter.com/SergioSemJ/status/1307493041742254080?s=19)

<comment><USER10> So does the smile: [https://twitter.com/MASCARPOWN/status/1307454405059452928?s=...](https://twitter.com/MASCARPOWN/status/1307454405059452928?s=09)

And actually swapping the smile:

[https://twitter.com/DrWhen2/status/1307497434872905728?s=19](https://twitter.com/DrWhen2/status/1307497434872905728?s=19)

Twitter is nothing if not full of victims and people talking about things they know nothing about.

</comment></comment><comment><USER11> This is pretty egregious.

For those of us working on machine learning, does anybody know of datasets that have decent representation of different colors of skin. That seems like the cause here and thinking back, my datasets aren't the most diverse out there.

<comment><USER6> ML inherits the biases of the data it is trained on. If you want "unbiased" ML models, you must train them on data that is carefully constructed to avoid the biases deemed undesirable.

<comment> GuB-42 I remember I took an introduction class in machine learning when I was a student.

I was surprised how important bias removal was. Preparing the dataset was more than half of the work. And the class was more about statistics than anything else.

It wasn't about racial bias, ethics, or anything like that. More like if you feed too many "5" in your handwriting recognition algorithm, it will will start seeing 5 everywhere.

<comment><USER12> Preparing the dataset is 99.9% of pretty much all ML and data science.

Just like all software engineering is maintenance, all DS is data cleaning.

</comment></comment></comment></comment><comment><USER13> Some more info:

\- This apparently done via a NN [1]

\- There are mixed results, with various factors playing a factor [2].

Worth digging into this thread, and the original thread where this was figured out. It's intriguing.

[1]: [https://blog.twitter.com/engineering/en_us/topics/infrastruc...](https://blog.twitter.com/engineering/en_us/topics/infrastructure/2018/Smart- Auto-Cropping-of-Images.html)

[2]: [https://mobile.twitter.com/NotAFile/status/13073372942491033...](https://mobile.twitter.com/NotAFile/status/1307337294249103361)

</comment><comment><USER14> Why does Twitter even try so hard to make preview crops "meaningful"? Sure, it produces interesting results sometimes (sometimes funny, sometimes less so) but isn't it a lot of work for not a lot of benefit?

<comment><USER15> Cropping well is quite a hard problem!

I know it seems on the surface like "just resize it" is a good approach, but it's not super uncommon to see quite extreme aspect images, and even for normal use there are lots of different constraints in different systems that mean a really simple system can produce undesirable results.

I used to get this all the time back when I built custom content management systems. Users would upload images which were automatically cropped into various sizes for use in particular bits of content; really long or wide images would look awful when scaled, and automatic fixed-size crops would often end up cutting out the actual interesting bit of the image. That's what various "automatically generate interesting thumbnails" algorithms try to avoid.

In the end for me the best tool was auto-crop-with-preview-and-manual- override, and I'm beyond infuriated every time I try to upload an image to Twitter and it doesn't allow this obvious and simple way to avoid the issue.

</comment></comment><comment><USER16> Misleading - it seems to be looking for contrast

[https://twitter.com/kim/status/1307548258491801600?s=19](https://twitter.com/kim/status/1307548258491801600?s=19)

UPDATE: someone wrote a boy to test the conspiracy and properly debunked it, source code is online:

[https://twitter.com/vinayprabhu/status/1307497736191635458?s...](https://twitter.com/vinayprabhu/status/1307497736191635458?s=19)

</comment><comment><USER17> Isn't Mitch McConnell in the news right now far more "intensely" than Obama? If I was writing a system to pick a thumbnail, I would pick the thumbnail that is most relevant to current tweets, which is definitely McConnell.

A quick way to test this would be to use two well known figures, where the PoC is definitely more in the news than the other.

</comment><comment><USER18> It's funny how these big companies willingly convert a non-problem into massive problems with hundreds of hours of engineering effort and huge social implications.

Non-problem: don't mess with the images, and display them as is.

Problem: see Twitter

</comment><comment><USER19> I'm out of the loop. What's happening here? All I see is a picture.

<comment><USER20> Glad you asked. There are two pictures in each tweet, shown left and right.

You can click on each to see the full picture.

Each picture is actually two portraits (Mitch McConnell and Barack Obama), one above one below, separated by a big gap.

Since apparently Twitter automatically chooses to crop pictures in default tweet display, the OP posted different cases to see where Twitter would crop the image. And it happens that Twitter chose one of the portrait always, until the OP reversed color. Some people wonder if it is because Barack Obama is black. Whether that's the reason or not, the observable fact remains.

</comment></comment><comment><USER21> It seems this needs a twitter account to see? Maybe someone can post a screenshot?

<comment><USER22> And for those of us who need a textual description to get it, maybe someone can post an explanation or description of what is expected and what's an observed behavior?

Anybody, please?

<comment> yc-kraln Twitter has an algorithm to pick which part of oblong images to showcase in the feed. People have been posting examples where, given the "choice" between a white person and a person of color, the white person is always picked, regardless of orientation or where they are in the picture.

This was noticed in a thread about how Zoom's background detection seems to not work great for people of color, and how the WebEx cross-talk protection seems to favor men over women.

</comment></comment></comment><comment><USER23> Humans can't make unbiased computers. Every computer which humans make is indelibly human as well. This is the anthropic bias.

<comment><USER7> It's not a biased if isn't a result of a human bias. If the algo picks the spot with the highest contrast for example, that can not be biased it may lead to unwanted results but its not biased.

<comment><USER24> Someone decided the algo was producing usable results when it was picking the highest contrast areas.

<comment><USER7> Because it did. I'm sure they made tests and decided it worked good enough. It wasn't made only for faces/persons especially not for images with 2 faced far apart. It also never was meant to decide between 2 possibly "image centers". Its not biased because you can craft an image where it procedure unwanted results. The only persons biased are the people who see a bias in everything.</comment></comment></comment></comment>


Crisis for 46 State Governments Facing Greek-Style Deficits - <AUTHOR> http://noir.bloomberg.com/apps/news?pid=20601109&sid=atxrhPqbty_4&pos=10

<comment><USER2> How similar are any of these crises to Greece?

My home state, Illinois, is in one of the worst crunches of all; by the numbers, we're in worse shape than California. But the cause of our problems doesn't look like an intractable macroeconomic problem (unlike Greece's). Rather, the politicians in Springfield have been pilfering pension funds to effect stealth loans to finance other parts of government, and deferring contributions to pension plans, so that the budget process never has to come to grips with how expensive these plans are and reduce them or offset them with wage and headcount cuts.

Nothing other than politics appears to prevent Illinois from fixing this. Eventually it will have to, because we'll flip out if they raise taxes. Whereas there aren't many (tractable) political decisions that Greece can make to right itself.

<comment><USER3> But that's exactly the problem in Greece; at base, promises have been made that can't be kept.

Income sources are running out: tax receipts due to the recession, new taxes due to voters, people willing to lend the state money at rates it can afford (if Illinois can't officially borrow money, no doubt it's like Massachusetts or New Jersey who create off book liabilities like a zillion "independent" "authorities").

But the promises can't be cut back because those directly benefiting from them are too powerful and are willing to use extreme means (e.g. " _If You Don't Give Us 150 Percent Pensions, We'll Kill This Child_ " [http://reason.com/blog/2010/06/25/if-you-dont-give- us-150-pe...](http://reason.com/blog/2010/06/25/if-you-dont-give- us-150-percen)).

Unlike Greece it's not a sovereign _nation_ , it has no theoretical option to drop out of the US dollar and issue a devalued Illinois currency. Although if it's like California and New York soon enough it'll be issuing IOUs _and_ demanding that taxes be paid in cash on payments made to companies.

And there's no provision for bankruptcy of a state (there is for municipalities and the like: [http://en.wikipedia.org/wiki/Chapter_9,_Title_11,_United_Sta...](http://en.wikipedia.org/wiki/Chapter_9,_Title_11,_United_States_Code)). States are in theory sovereign entities with governmental rights and responsibilities split between them, municipalities and the Federal government.

It's going to get messy.

</comment></comment><comment><USER4> Both US states and Greece have the same root problem. In neither can the political leaders inflate the currency to get out of the consequences of their years of fiscal mismanagement. The trick of currency inflation, since the advent of fiat money, has saved many administrations around the Globe.

<comment><USER5> Doesn't currency inflation just delay the day of reckoning? If the political will doesn't want to fix the root problem, than all the inflation in the world won't fix anything.

Can you name the administrations that has been saved?

<comment><USER6> Every federal government since the second World War, and especially since Reagan. Deficit spending is closely tied to currency inflation.

<comment><USER3> Neither saved Jimmy Carter, though, and taming inflation (started by Carter's appointment of Paul Volcker as Chairman of the Fed in August of '79) was a major factor in saving Reagan's first term.

As far as the "just delay the day of reckoning" question, by partly liquidating debts denominated in the currency in question inflation and/or devaluation does a lot more than that. It allows repayment of less real value than was borrowed.

Hmmm, I should also point out FDR's actions WRT to gold, especially outlawing all contracts that were written in terms of gold. The problem back then was deflation, but this no doubt also changed the game after the Great Depression when inflation later became the big issue.

</comment></comment></comment></comment><comment><USER7> Virtually all of these states could make significant progress on their budgets by cutting the pay of government employees. Teachers, police officers and assorted bureaucrats all tend to be overpaid for the work they do.

The fact that not a single state is even attempting to do this suggests they are all just waiting for the feds to bail them out.

<comment><USER3> Missouri is not in crisis (yet). The (Democratic) Governor has laid off more than 2,000 state employees and he and the (Republican) Legislature have proactively cut the budget in other ways (local education funding is about to take some significant hits, e.g. busing). Or in the case of state higher education they struck a compact with the schools that if state funding didn't drop they wouldn't raise tuition (that's lasted two years but is not expected to hold for too much longer).

Except for the usual borrowed from the Feds unemployment deficit I don't think we're in bad shape (yet).

</comment></comment><comment><USER5> What are the four states that is not in an economic crisis right now?

<comment><USER8> Idaho, Idaho, Idaho and Idaho

but seriously, they didn't seem to say in the article

<comment><USER5> I checked out Idaho's economy: <http://en.wikipedia.org/wiki/Idaho#Economy>

Some highlight:

Low income taxes(1.6% to 7.8%) but high sale taxes(6%)

Electronic manufacturer being a biggie industry. Accounts for 25% of tax revenue and 70% of all exports.

But it doesn't seem to have anything special in term of economics.

The state constitution doesn't reveal anything special either. It just said that the budget should be balanced, which I think is part of all other states' constitution.

<comment><USER8> I was joking about Idaho. Well, half-joking. Actually I figured that since Idaho had probably one of the smallest economies and smallest populations among the 50 US states that it would also have one of the smallest state budgets, and also a pretty "traditional" industry mix (producing non- discretionary and/or physical products or commodities) as opposed to things which are more frothy or flaky like finance, services, entertainment, etc.

</comment></comment></comment></comment><comment><USER8> is that the kind of deficit where taxpayers will have to take it up the ... ?</comment>


"Please note, the hashtag is for our paying advertisers" - <AUTHOR> https://twitter.com/EdmondActive/status/761404345908736000 <comment><USER2> Note though that they only claim "marketing and advertising" for the hashtag [1]. They don't deny anyone from using it in an ordinary Twitter discussion.

So all the people that now try to invoke the streisand effect against them are not even touching their claim, however valid or invalid or may be. If anything, they make the hashtag more valuable for advertisers.

This reminds me of incidents in the past were colors (some special shade of magenta, Deutsche Telekom) or letters (greek alpha, Canon) were trademarked, apparently without much discussion. As I understood it, the reason was that a trademark does _not_ forbid general use by the public. It "only" forbids using it as brand identifiers and for advertising.

Whether hashtags _can_ actually be trademarked is of course a different question. But I don't see how it would be more crazy than trademarking a color.

[1] [https://twitter.com/EdmondActive/status/761406212122431488](https://twitter.com/EdmondActive/status/761406212122431488)

<comment><USER3> Their claim isn't important at this point. Invoking the Streisand effect by that tone-deaf tweet has just driven its marketing value into the toilet by way of negative association and associated shitposting.

So what if they're "right"? They still lost.

<comment><USER4> A friend of mine always had a great saying: "You are dead right but you are dead."

</comment></comment></comment><comment><USER5> Note that the IOC is trying the same thing with #Rio2016 #TeamUSA and other hashtags.

[http://www.bbc.com/news/blogs- trending-36915565](http://www.bbc.com/news/blogs-trending-36915565)

<comment><USER6> What? I've been saying TeamUSA since high school when playing friendly games against people from other countries. How can you possibly trademark that?

Rio2016 is also a little insane. I guess no one else is going to rio in 2016.

<comment><USER7> > What? I've been eating Apples since I was a child. How could you possibly > trademark that?

You're falling into the same trap as some a few others -- a generic term doesn't necessarily disqualify it from being trademarked.

<comment><USER8> Well sure, but the real trap is completely not understanding trademarks. As a person (not a company, not representing a company, etc.) you can say/use/whatever with a trademark.

Trademarks only affected another business's use of that trademark, not individual people. Its truly comical that people don't understand this.

</comment></comment></comment></comment><comment><USER9> Well, they're on the front page of HN. I think they won guys.

<comment><USER10> Hash-tag Streisand Effect.

</comment></comment><comment><USER11> Some companies/startups _intentionally_ invoke bad press/unpopular opinions under the theory that any-publicity-is-good-publicity.

From the comments made in the thread by Edmond, this does _not_ appear to be the case in this circumstance, and the tweet is a genuine case of marketing ignorance.

<comment><USER12> No, this is intentional. They're using the hashtag for advertising. What good is a hashtag if nobody is using it? Of course they need to look ignorant, that's the fuel for the viral fire.

They got everyone, hook, line, and sinker.

<comment><USER13> [http://rationalwiki.org/wiki/Hanlon's_razor](http://rationalwiki.org/wiki/Hanlon's_razor)

Never attribute to malice that which can be adequately explained by stupidity.

<comment><USER14> It's not being attributed to malice though, it's being attributed to ingenuity.

I agree with your parent post, this has been done intentionally to get people to use #shopedmond.

</comment></comment></comment></comment><comment><USER15> Baseless speculation: trademarks must be defended or you lose them. This company trademarked a hashtag and got legal advice that they must at least make a visible effort to control the term.

Kleenex e.g. must fight the conception that their trademarked name is a generic term for a tissue.

<comment><USER16> You need to defend it against people using it generically. You don't need to stop people from using your trademark to refer to your trademarked product name it is trademarked to refer to.

<comment><USER17> I don't think it's that clear cut. The magazine is "Edmond Active" while the hashtag is #shopedmond, which is neither the name of the business or their product.

However, the city on question is Edmond, OK and they're encouraging you to shop there, so erm, "shop edmond". Not exactly a convincing trademark.

</comment></comment></comment><comment><USER18> Reminds me of the sites that tried to assert that you needed permission to link to them. GG your page ranking

</comment><comment><USER19> THere's a midwestern dry cleaner suing the IOC over this right now. This seems frivolous, at first, but it's actually a legal grey area in that it doesn't seem like anyone has ruled specifically on it.

</comment><comment><USER20> There's a nice writeup of the law here: [http://www.socialmedialawbulletin.com/2016/07/can-you- tradem...](http://www.socialmedialawbulletin.com/2016/07/can-you-trademark-a- hashtag/)

It seems the owner of the mark is only claiming ownership in oklahoma (which may be why the mark isn't found in the USTPO lists)

[http://newsok.com/article/5512593](http://newsok.com/article/5512593)

EDIT: I'd be interested to know if these tweets fall foul of US rules about promoted content.

[https://twitter.com/EdmondActive/status/761416672167157761](https://twitter.com/EdmondActive/status/761416672167157761)

[https://twitter.com/EdmondActive/status/761411987578298368](https://twitter.com/EdmondActive/status/761411987578298368)

</comment><comment><USER21> I had originally trademarked this phrase with Spanish style exclamation marks, but then put it in the public domain, because I loves me so folks. Let all your sharp pencils be free! Write baby, write!

And,,, seriously though, this is why technology is NOT democratic by default, and why people must actively, forcefully work to democratize technology based social, community, and cultural infrastructure. If it can't be found outside of human civilization in a form ready to be picked up or stumbled over, and someone gets to it before you, they'll likely claim it for their own. Lame.

</comment><comment><USER22> Does anyone have a quick backgrounder on what is going on here?

<comment><USER23> seems as if the twitter user that asked people to not use the hashtag "#shopedmond" unless they were a paying customer as his company had trademarked the rights to the hashtag "#shopedmond", the rest of the twitter users were then taking the piss out of him for his attempt to a) prevent people using the hashtag and b) for trying to trademark it.

Although to be fair he wanted to stop businesses using it not the public in general, but why let the facts get in the way of a good old fashioned rabble rousing.

<comment><USER24> Pretty sure "he" is female - or at least the contact for their advertising and social media sales is female - or at least was in 2014[1]

[1] [https://issuu.com/edmondactive/docs/edmondactive_janfeb2014](https://issuu.com/edmondactive/docs/edmondactive_janfeb2014) (pg 3. Note down the bottom of that page they claim the trademark to #shopedmond"

<comment><USER23> As gender isn't an issue here, that I used he/him is irrelevant to the discussion. It wasn't meant as sexism.

</comment></comment></comment></comment><comment><USER8> The ignorance in this thread is amazing, but I suppose this site is for software and not business people. So many of these comments are completely misinformed and incorrect about how trademarks/etc work.

HN comments are mostly quality when on topic, but toss out another discipline that people assume to understand with their common knowledge and.. well, here we are.

</comment><comment><USER25> Could someone please TL;DR me a story about this company?

What do they sell?

How long have they been around?

Do you think their product is ok even if they do silly things on twitter?

<comment><USER26> I grew up in this city, so it is surreal to see it on HN.

Edmond is a special place that you must understand to make any sense of this story. It is effectively Republican Heaven. It is a small town, well-eduated, white, wealthy, growing, and suburban. Lots of small business owners and people who have made their own $1M, which they naturally achieved through some combination of hard work and attending church regularly so that your customers and business partners will trust you. Cost of living is shockingly low. All the economic, racial, and social issues in our country are happening somewhere else very far away, and the biggest threat Edmond faces is that the faraway people may and/or already have begun to change things and therefore ruin Republican Heaven.

This company exists in that context, capitalizing on a high concentration of small business owners, offering them what effectively amounts to advertising services that theoretically convert into walkins to your hair salon or whatever.

Edmond has a strange relationship with social media. On the one hand, social media is big business, and big business is always, always good. On the other hand, social media was created by a bunch of faraway Blue-State Liberal Commies. So in general they would be one part in favor of exploiting it, one part completely ignorant about how to do that, and one part determined to do it differently than the Liberal Commies do.

All of that to say, forming a cartel around a hashtag is an entirely plausible business model for Edmond. If a business used it without paying, well, that's cheating, and cheating is a sin, and you'll never sin your way to making your $1M. All you have to do is put out a passive aggressive note reminding people you have a trademark or something and the bad actors will be sufficiently shamed to change their ways.

And the social media backlash is, obviously, just a bunch of Blue-State Liberal Commies who live too far to visit your hair salon anyway, so nobody cares about them or their opinions.

The real problem this company faces is proving that a hashtag translates into increased hair salon appointments, which is the kind of problem Edmond actually cares about. Small business owners take much more seriously than SV culture the concept of value for money. If it's not effective advertising it will be dead in the water, with or without any help from outside.

<comment><USER27> Thanks for writing this in a neutral tone without insulting those whose political persuasion you disagree with since you fled to one of the coasts.

<comment><USER26> Then it may surprise you to learn I still live in the South :-)

I understand how it could be read as a bit of a partisan attack, particularly around this time of year. In reality though, I think every place has its own dysfunction. It's just that Edmond's particular dysfunction is both important to understanding the story, and very foreign to HN readers, whereas detailing the dysfunctions of other areas might "provide balance" but would not help anyone make sense of this story.

But to provide balance anyway, Edmond is very different than most people's idea of "red area". The population is very highly educated. The public school system is universally loved, and there's even a public university that is excellent. So when you hear someone express their hatred for "big government" it is in the context of empowering a local government that provides actual services that are very competently administrated, not, e.g. a desire to burn everything down.

It is also one of the only semi-urban areas I can think of where minimum wage is definitely a living wage, jobs are available to anyone who wants to work, "corporation" means your next-door neighbor's 10-employee plumbing company, etc. So I think an argument can be made that "red" policies make much more sense there than otherwise expected.

It is really the sort of place that produces a William Buckley [0]. It's a pragmatic, intellectual, moderate branch of conservatism, that is growing concerned about its own extinction. Based on this election, I think it's a pretty justified fear.

[0] [https://en.wikipedia.org/wiki/William_F._Buckley_Jr](https://en.wikipedia.org/wiki/William_F._Buckley_Jr).

</comment></comment></comment></comment><comment><USER28> When I see things like this, I always make a mental note never to patronize the business (or in the case of a city/state, never to visit).

Maybe the small effect of voting with my wallet would be more likely to be noticed if I sent a note: "Hi there, because of $ACTION_I_DISAGREE_WITH, I've decided not to patronize your business anymore"

<comment><USER20> Were you ever going to advertise with whoever the fuck EdmondActive is?

</comment></comment><comment><USER29> Some people just have to learn the hard way what saying such a thing on Twitter will lead to.

</comment><comment><USER30> Was a nice piece of social marketing and engineering. His hashtag is trending now.

</comment><comment><USER31> Seems to me the octothorpe is an AT&T or Bell Labs invention. I recall some crazy discussion in Murray Hill before I knew anything about Unix or telephony... LOL

</comment><comment><USER32> one way to get people talking about your company/magazine.

<comment><USER33> If that was the aim, posting text as an image with a legal spin in a font that's difficult to read... Yes, this sounds like something a corporate would do.

</comment></comment><comment><USER34> Sigh, as a great sign of a flawed system you can own a trademark for something as simple as shopping in a city. Our system is _FLAWED_.

</comment><comment><USER35> Ok, that was hilarious.

</comment><comment><USER16> people unclear on the concept.

</comment><comment><USER36> This was a very funny joke. Bravo. #shopedmond. Can't use because copyright. LOL. Made my day. They've got a sense of humor over there. Keep up the good work you savvy netziens.

<comment><USER37> Trademark, not copyright.</comment></comment>


Ask HN: Parents of HN, what are the things you wish you knew before having kids? - <AUTHOR> <comment><USER2> 1\. Every child is different. For the first kid, you'll often blame or credit your parenting for some of your child's positive and negative traits. For example, our son (oldest), has always been a great eater. Tries all new foods, loves his vegetables, eats healthy portions. We thought it was because of our "baby-led weaning". Then we had our 2nd and she is a very picky eater (better now than before, but still a big difference) and we often struggle to get her to eat enough. Our 3rd is in between the two, eating wise. More or less a similar environment growing up. The other area this comes up a lot is sleep. Some children sleep terribly, others sleep well. Some parents have a few children who sleep well and feel that they made that happen. Some parents have children that don't sleep well and feel cursed. Try not to be too hard on yourself or too high on yourself.

2\. They are a lot more durable, and less fragile than you'll initially feel. I stressed a ton over our first child. I tried not to be a helicopter parent, but still, in relative terms, every health issue stressed me out a lot. In fact, I stressed so much during the first weeks of our first child's life that I got stress-induced shingles! For the 2nd and 3rd, I'm much more relaxed and I simply have less time and attention to hover over everything that happens to them. Let them fall, get hurt, etc - they can handle it and they learn from it. Injuries, scars, etc all heal for the most part. Obviously this does not apply to truly serious conditions of incidents, but those are rare relative to your worrying.

<comment><USER3> I was going to go with number 1 as well.

Another result of #1 is that when faced with a problem....try everything.

Baby not sleeping?

Go to bed earlier...or later. Don't sweat what works for others, just try things and accept that you're probably just going to bump into solutions accidentally...or they will just grow out of it.

<comment><USER2> That last part reminds me of advice a coworker gave me before I had kids: "Just when you think you've figured them out, they'll change."

</comment></comment></comment><comment><USER4> Your children will be the cause of the best and worst moments of your life for the next decade or two. You'll love some of it more than any other experience that you have ever had. And also hate it at other times. You'll wonder when it will get better (it will), yet miss the days when they were little.

And at the end of it, you have a family to grow old with, and it is worth it.

But that is also the key to remember - it is not your goal as parents to raise children, nor to control who they are. Instead, it is your goal to raise adults, who can direct their own lives successfully. Their childhood and adolescence is just the learning curve you are helping them get through so they can go be their own person.

</comment><comment><USER5> 1\. Every child is different.

2\. They grow up really fast. Capture all moments that you can. Take tons of pictures when they are a baby. First 3 years, they will change every month physically a lot faster than after 3.

3\. Plan things but don't worry if you mess up and never blame yourself. Kids make u do that. Some things will happen that you cannot control. Deal with it. Don't over stress about planning too much. Almost always, it is not your fault. Just the nature of how kids are.

4\. If you have multiple children, don't compare them with each other. Related to #1.

5\. If you think life is hard now, you have no idea whats coming to you mostly in a good way :). Kids will test your patience and no matter what, you have to deal with them. My kids changed my sleeping habits for the better. Don't wanna wake up at 6:30 ? Sorry your kid is awake and u HAVE to.

6\. Most important for me: Kids are one the best experiences you can have. Don't worry about the negatives. It is a great feeling and experience of life. This is not to shit on people who don't want kids. I respect that. Kids are hard. But personal opinion, they are worth it. I can have the worst day at work/life but when I see my kids, it lightens me up. All the best.

</comment><comment><USER6> Try to work on your hobbies after they are in bed. It's tempting to put on a tv program for them so you can work on your own stuff for a while, but they grow up so fast you will regret the time you didn't spend with them.

Check inside your shoes before you put them on.

Applesauce stops loose stools, apple juice causes it.

</comment><comment><USER7> Similar thread [https://news.ycombinator.com/item?id=21053211](https://news.ycombinator.com/item?id=21053211) (90 points, 3 months ago, 110 comments)

My comment: [https://news.ycombinator.com/item?id=21053962](https://news.ycombinator.com/item?id=21053962)

</comment><comment><USER8> I've been considering getting a vasectomy recently, and this thread has been a huge help in granting perspective and context.

Even well into my twenties I still don't really have any interest in kids or long term relationships for that matter. I've never really been good at them and attribute a lot of that to my parents making fun of me at a young age whenever I was "dating" someone etc.

The biggest factor for me is having spent years getting my financial life and mental health in check. The idea of doing something like having a kid and throwing both of those aspects of my life into oncoming traffic seems unwise. I've also had good friends seem to fundamentally change in very negative ways after having kids. Some have already been divorced and largely will never have a life they enjoy again.

<comment><USER9> I would have had very little to no interest in having a kid when I was in my twenties, or even early thirties.

I'm delighted to have one now.

Just use birth control.

</comment></comment><comment><USER10> I'll try to keep it short and informative: 1\. New person in your family will put a high stress test on your marriage/relationship. (this is backed also by my friends experience) 2\. First days are a SHOCK and will make you CHANGE YOUR LIFE. You'll have to accept it: it's not about you anymore, it's about your child. 3\. First 6 months will be very hard - I mean things like little sleep etc. Also, there is no way you can understand such a small child. And even worse, they are extremely endangered by even the most stupid illness as there are no meds for them (so protect it as much as you can). That may sound weak, but: 4\. After 6 months you'll be much better :) 5\. If you accept your situation, you'll probably make some improvements in how you spend your time (weaking up earlier and sleep 6 hours, eat better food, spend your free time productive, because it's so little, you really value it). 6\. By spending time with your child, if you have a little empathy, you'll be able to mentally travel back to your childhood and look through its eyes on the the world. 7\. You'll never forget this feeling, when you have it in your arms (or rather on your hands) for the 1st time. 8\. It's hard to describe, but your child will be like for you like the water in the desert. 9\. In the end, rising a child is the only thing in your life (besides love) that matters. There are no people that regret working not enough, but most of them regret spending not enough time with their family. All the best for you and your family :) From the time perspective, you'll see it's the best that happend to you :)

<comment><USER11> >> I'll try to keep it short and informative

Was that meant to be intentional subtlety?

</comment></comment><comment><USER12> I'm not sure how helpful it would have been to know this beforehand, but one of the things that surprised me is how much decision making I'd need to do. You're CONSTANTLY deciding things. Is she ok? should we go to the doctor? is she too hot? what clothes should she be wearing in this temperature, should we give her paracetamol just in case it's fever? how much food should we feed her? what food should we feed her? is she old enough to have x? oh x is bad for baby's and gives them gas, wish we knew that yesterday? how do you deal with gas in babies?

The most stressful times are when you need to make decisions but you can't find information, or probably more to the point, you can find heaps of information, but none of it makes it easier to make make the decision. You just have to make one.

</comment><comment><USER13> They grow instantly. My third son, absolutely flew past the baby stage. It went by almost immediately. He's in toddler mode now and this seems to be taking a little more. Or maybe I'm enjoying it more, I don't know.

Cherish it though, time doesn't go back.

</comment><comment><USER14> In hindsight, I would've done better to simplify my life as much as possible, to leave more time and energy for the things I really care about.

In the end, it worked out ok, and we got through the most demanding and difficult years. It was worth it.

</comment><comment><USER15> Your romance will turn into an unpaid caretaking job.

Many women have post-partum depression (ie. mental illness.)

A lot of relationships never recover.

Do not have a nexus in California or you can be garnished $2,000+/month for child support (plus legal costs, of course.)

</comment><comment><USER9> A lot of things you learn when you have kids aren't necessarily useful to know in advance.

My kid doesn't sleep well, and we (parents) consequently don't sleep so well. Not much we could have done about that except try not to worry about it.

Your personalised autonomously will reduce. You may have to Shelve some hobbies and activities for a while. That can be tough, even if you expect it.

Try to be easy on yourself and your partner. Try and socialise when you can. Take turns getting naps and rest when you can.

If you can get help from friends or relatives do, but sometimes you need a break from helpful advice too.

</comment><comment><USER16> This future was completely unpredictable. How they live and what they learn are essential to successfully coping with a future like that. In part because you will be watching them and wondering what else you might have done.

</comment><comment><USER17> Children grow up very fast.

Every phase, be it nice or stressful, is very short.

<comment><USER18> I absolutely, positively, must echo this. Don't think "Oh, we'll do xxxx later..." because you will likely miss your chance.

My subjective perception of time has accelerated _so_ much after having my daughter.

</comment></comment><comment><USER19> Very simply: it is the best thing that can happen to your life. So don't wait so long to have them.

</comment><comment><USER20> Some pro-tips that may or may not help (see point 1 from most of these comments that all kids are different).

When they are old enough and you are taking them to the park, give a count down til time to leave. "Hey kiddo, we are leaving in 5 minutes", "... 3 minutes", "... 1 minute...", "ok, time to go.". There will still likely be protesting, but it is smoother than what they will perceive as an unwarranted attack on their fun when, out of the blue, it is "time to go."

When a kid is superficially hurt (scrapped knee, bumped elbow, etc), all their attention can go to the injury. Worse is when all your attention goes there and _you_ get scared. They see that mom/dad is scared, so, oh shit, this _must_ be bad. It is very important to act casual about most minor (or even major) injuries. "Oh wow, look at that! haha, you got yourself a scrape! Well done!". For removing their attention from their injury, you need to refocus their attention. "Oh, yeah, look at that scrape. Yeah, I know it hurts. Hey, which rock did you scrape it on? Was it this one? Let's find the rock. Oh, there it is. What color is that rock? Can you see anything else that is that color? What about that over there? That is the same color, yeah? Ok. Well, let's get rid of that nasty rock. How about you toss it in those bushes over there so it doesn't hurt anyone else." Or you can just be silly. Silly adults are a great way to make a kid laugh and forget what they were upset about.

Little kids love to help. They will be slow and terrible at helping. It is critical that they feel they are helping.

I suggest avoiding allowance tied to chores. Chores should be done because they help the family and everyone needs to help the family.

Kids do well with routines. Family reading time every night at 7:30, etc.

Your goal should be the raising of capable adults. Give them autonomy and trust. However, you can expect what you inspect. Especially as they are young, you have to inspect regularly. Expect them to do their homework, brush their teeth, clean their room do their chores, etc. When they are really young, lots of check ups (daily?). When they are older, less frequent.

Kids, like everyone, learn through mistakes. Give them the ability to make mistakes and learn from them.

Magic eraser can erase sharpie from painted walls. They should be the one to clean it up.

Kids are smarter than you know, or think you know. They are full humans, just with lack of experience and impulse control.

Kids will have different ways of learning than you did.

What kids want more than anything is your time.

</comment><comment><USER21> Generally choose the path that results in the least stress, and most sleep, for all parties

</comment><comment><USER22> everything about breastfeeding</comment>


So, You Think You Really Know What Happened with Facebook's IPO on Friday? - <AUTHOR> http://www.ritholtz.com/blog/2012/05/so-you-think-you-really-know-what-happened-with-facebooks-ipo-on-friday/ <comment><USER2> > _And I can justify my thoughts and feelings on computers because I cut my > teeth working on them as I broke into the industry. I went from crawling > under desks counting computer cables to talking to guys like you!_

That's like justifying saying you understand the workings and limitations of the automotive industry because you work at a car wash.</comment>


The Radiological Accident at the Irradiation Facility in Nesvizh [pdf] - <AUTHOR> http://www-pub.iaea.org/MTCD/publications/PDF/Pub1010_web.pdf <comment><USER2> Irradiation using the gamma radiation emitted from the decay of 60-Co isotopes is still a standard method for e.g. sterilizing medical implants.

[https://en.wikipedia.org/wiki/Cobalt-60](https://en.wikipedia.org/wiki/Cobalt-60)

I've been to such facilities (in Europe) and typically they are pretty diligent with their radiation protection. But of course they are industrial facilities and therefore look more like a warehouse, and less like a laboratory.

Kept under water for shielding, the racks with the radiation sources look like this, they emit a very, very pretty blue glow (Čerenkov radiation):

[http://www.brucepower.com/cobalt-removed-during- unit-8-outag...](http://www.brucepower.com/cobalt-removed-during- unit-8-outage-will-help-ensure-safe-medical-treatment-for-hospital-patients- worldwide/)

[http://www.phy.olemiss.edu/~cavaglia/courses/Phys_622/](http://www.phy.olemiss.edu/~cavaglia/courses/Phys_622/)</comment>


DVC 1.0 release: new features for MLOps - <AUTHOR> https://dvc.org/blog/dvc-1-0-release <comment><USER2> Hey HN, creator of DVC here!

DVC ([https://dvc.org/](https://dvc.org/)) is known as Git for data projects. Technically, DVC codifies your data and machine learning pipelines as text metafiles (with pointers to actual data in S3/GCP/Azure/SSH) while you use Git for the actual versioning. DevOps folks call this approach GitOps or more specifically in this case - DataOps or MLOps.

We've been working towards 1.0 since we started 3 years ago. What began as my pet project now has 100+ code contributors, 100+ documentation contributors, and thousands of users.

Our community has taught us a lot - here are some of the biggest lessons:

1\. Users say the serverless and distributed nature of DVC (inherited from the underlying Git) is one of its "killer features".

2\. To share ML projects within and between teams, it's not enough to track only files and pipelines. You also need metrics, plot and hyperparameter tracking. In DVC 1.0 we implemented hyper-parameter diffs, metrics and plot diffs right from Git history.

3\. In DataOps, data transfer optimization is huge. Large deep learning models, millions of images in datasets, etc. We doubled down on optimizing 1.0.

4\. ML pipelines evolve faster than data engineering pipelines and need to be easy to change. In 1.0, we've simplified the pipeline metafile format.

5\. More and more teams use DVC as a part of CI/CD for ML and other MLOps tools. DVC is used under the hood in the CD4ML tool that was described in the canonical post on Martin Fowler's blog: [https://martinfowler.com/articles/cd4ml.html](https://martinfowler.com/articles/cd4ml.html). We built 1.0 with CI/CD users in mind.

More details on [https://dvc.org/blog/dvc-1-0-release](https://dvc.org/blog/dvc-1-0-release).

Happy to answer any questions.

PS: I've published this in another thread, but I repeated it here.</comment>


Former TechCrunch/ReadWriteWeb reporter launches TheNewStack.io - <AUTHOR> http://thenewstack.io

<comment><USER2> Here's an intro video apparently what they're all about [https://www.youtube.com/watch?v=JygZBs1r-i0](https://www.youtube.com/watch?v=JygZBs1r-i0)

I can, in some ways appreciate that the blogger is excited about setting up a new blog and has LOTS of ideas as to what he wants it to be, but I really wish he didn't refer to it as a 'media company'.

I'd appreciate a bit of humility from somebody who understands this space. The video, taken from a webcam in a hotel in the 'hotbed of San Francisco' isn't the production of a 'media company'. It's a blogger sitting in front of a computer, rambling about his new blog.

I am really trying not to come off as an a __hole, but why 'launch' like this? I doubt thenewstack is going to get visits because he was a reporter at TC or RWW. I clicked the link to see which reporter it was, but thenewstack is going to have to stand on it's merits as a blog, not on the blogging founder, or his ideas of what his blog will be.

Don't tell me what you're going to be/do, show me. Take a lesson from all the other startups you report on, and please, take two minutes to make a proper and coherent video intro (if you're going to do one at all). Go out into the streets of SF, act like you're actually reporting on something, know what it is you want to say. You've got less than 30 seconds to convince us of why we should care. Or just keep putting out great posts and slowly build an audience.

Best of luck

</comment><comment><USER3> Fair enough. Check out the stories, judge for yourself. See how we fare. Thanks for the critique -- it makes sense.</comment>


Faster and simpler with the command line: deep-comparing JSON files with jq - <AUTHOR> https://genius.engineering/faster-and-simpler-with-the-command-line-deep-comparing-two-5gb-json-files-3x-faster-by-ditching-the-code/ <comment><USER2> I really enjoyed this article, and I think it shows how successfully jq fits into the Unix culture of sed/awk/grep/etc. It seems so rare to find new CLUI tools that feel as "classical" as jq. It has helped me do one-off tasks like this several times, but I've really only scratched the surface. Often with newer tools I'm reluctant to invest in going deeper into really learning the features, but with jq I have a lot of confidence that it would pay off for years to come. I don't see any books yet, but this is about the phase where I'd normally buy an O'Reilly volume (hint hint).

Btw I'm surprised you needed -M, since I thought jq would suppress colors if it saw it wasn't writing to a tty.

<comment><USER3> Chapter 5 of Data Science at the Command Line (O'Reilly, 2014) mentions `jq` briefly: [https://www.datascienceatthecommandline.com/chapter-5-scrubb...](https://www.datascienceatthecommandline.com/chapter-5-scrubbing- data.html#working-with-xmlhtml-and-json)

</comment></comment><comment><USER4> Just a heads up to anyone using jq - I've previously spent a couple of hours debugging a problem because jq uses float64 to store integers (which might lead to rounding-errors/overflows). For example:

      echo 1152921504606846976 | jq
      1152921504606847000

<comment><USER5> This is an artifact of JavaScript, which even as of ES6 uses IEEE 754 double- precision floats for all numeric values. jq likely uses the same implementation internally for compatibility reasons and to avoid surprises of a different kind.

See [https://www.ecma-international.org/ecma-262/6.0/#sec- ecmascr...](https://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript- language-types-number-type)

<comment><USER6> BigInt in top browsers now, not under a flag. Just sayin'!

[https://brendaneich.com/wp- content/uploads/2017/12/dotJS-201...](https://brendaneich.com/wp- content/uploads/2017/12/dotJS-2017.pdf#page=21&zoom=auto,-177,1061) et seq.

</comment></comment></comment><comment><USER7> Another option is to use a tool like 'gron' to convert the JSON into a shell- friendly line-oriented format. This makes the rest straightforward.

[https://github.com/tomnomnom/gron](https://github.com/tomnomnom/gron)

<comment><USER8> jq can do something like that too! Check out its --stream option.

</comment></comment><comment><USER9> That's cool, you made a thing that verifies the two export jobs you wrote have the same data even though they have different output.

I can't help wondering, if you control the code that generates the JSON, why not output in a conservative, consistent format? I'm sure there are pros/cons, but this work would allow something like `diff` to work, and then you don't have to maintain a separate utility.

<comment><AUTHOR> good question! the analysis that I was doing was really a one-off for switching between these processes. We have unit tests and sanity checks to ensure consistency going forward, but as a final check before flipping the switch we wanted to be as confident as possible that we hadn't introduced any regressions across the full data-set.

The new export process is much more reliable and a _lot_ faster, but as a side effect of doing things in a different way it generated the export file in a different format. Given that the order of objects in an export file and the order of keys/etc in the JSON objects didn't matter for anything except comparing the two processes, I figured it was simpler to put the normalization logic in the one-off tool vs baking it into our export process. But certainly if we were maintaining both exports in an ongoing fashion and validating them against each other, it would make a lot more sense to spend time making sure they generated objects and keys in the same order.

<comment><USER10> I'm surprised the layout of the JSON doesn't arrange music by artist, any reasoning why that wasn't done?

</comment></comment></comment><comment><USER11> If you have json line formatted stuff (or csv) and an aws account, you can do some nice things with Athena and SQL. We have a few simple backoffice tools that I've implemented around simple sql queries on data dumped from various systems that we have in json format. Awesome, if you want to do some quick selects, joins, etc.

If you are going to process this amount of data, don't load it all into memory and process line by line. Also do that concurrently if you have more than one CPU core available. I've done this with ruby, python, Java, and misc shell tools like jq. Use what you are comfortable with and what gets results quickly.

One neat trick with jq is to use it to convert json objects to csv and to then pipe that into csvkit for some quick and dirty sql querying. Generally gets tedious beyond a few hundred MB. I recommend switching to Athena or something similar if that becomes a regular thing for you.

<comment><AUTHOR> OP here— good point! We actually use Athena to query these exports in S3 to debug data drift of specific export objects over time. It's quite a useful tool, I was able to go knowing basically nothing about Athena to querying gzipped newline-delimited JSON files in S3 using SQL in about an hour.

</comment></comment><comment><USER12> It's worth mentioning that there are much faster JSON parsing libraries than the default in Ruby stdlib. I still don't think Ruby is the best choice for doing raw JSON parsing. Last time I had to care about JSON speed we were transforming billions of events and the Ruby JSON lib was becoming a bottleneck

<comment><USER13> What do you think is the best way to do deep JSON comparisons? We work with 2GB JSONs all day, and it is super annoying how long they take to process.

<comment><USER14> Not parse them into a tree, to start with.

Use a streaming JSON parser, and compare them token by token unless/until they diverge, at which point you take whatever actual suitable to identify the delta.

Parsing it into a tree may be necessary if you want to do more complex comparisons (such as sorting child objects etc.), but even then depending on your need you may well be better off storing offsets into the file depending on your requirements.

[https://github.com/lloyd/yajl](https://github.com/lloyd/yajl) is an example of a streaming JSON parser (caveat: I've not benchmarked it at all), but JSON is simple enough to write one specifically to handle two streams.

<comment><USER15> I believe this comparison benchmark could be useful for you and you can expand further with more tests. Although I got downvoted for sharing a link.

[https://github.com/kostya/benchmarks/blob/master/README.md](https://github.com/kostya/benchmarks/blob/master/README.md)

<comment><USER14> That still parses into a tree.

</comment></comment></comment></comment></comment><comment><USER16> > My first thought was to write a ruby script to parse and compare the two > exports, but after spending a little time coding something up I had a > program that was starting to get fairly complicated, didn't work correctly, > and was too slow—my first cut took well over an hour. Then I thought: is > this one of those situations where a simple series of shell commands can > replace a complex purpose-built script?

Key takeaway: next time, start with the second thought first and save yourself well over an hour!

</comment><comment> g-harel I had a similar problem diffing large API responses a few months ago and implemented an automation friendly JSON schema tool. It's a great way to make a summary of the data, especially when looking for forgotten fields for example.

[https://github.com/g-harel/ence](https://github.com/g-harel/ence)

</comment><comment><USER17> I love jq.

I replaced a bunch of bespoke ETL code with shell scripts. grep, sed, jq, xsv, psql, etc. Fast, efficient, iterative, inspectable, portable.

Alas, most everyone else insists on python, nodejs, ruby, AWS Lambda, jenkins goo, misc mayfly tech stacks. So my "use the most simple tool that works" advocacy has never gained traction.

</comment><comment><USER18> As part of an automated Jira upgrade script (well, Makefile) we needed to export changes to the listener port/scheme configuration which is unfortunately stored "in the code" so to speak (in WEB-INF/web.xml) which Atlassian doesn't deign to whitespace normally (indentation is all over the place, as is formatting, character encoding, and more) —- and they mangle it differently somehow with each point release. So the Makefile calls xmllint to normalize formatting and whitespace of both the untouched source files from the old and new release as well as the locally modified (deployed) configuration, then calls diff/patch accordingly (in a three-way).

</comment><comment><USER19> Note: use python3!

[https://gist.github.com/mattbillenstein/34cf2907390102ffbabd...](https://gist.github.com/mattbillenstein/34cf2907390102ffbabd982a3662b204)

</comment><comment><USER20> I have found jq immensely useful to process ugly large responses from REST APIs in enterprise systems. It's like an awk for JSON... And I've been awk fan for 30 years for any text processing.

</comment><comment><USER21> This is somewhat related to a hack I threw together recently: [https://github.com/ecordell/jf](https://github.com/ecordell/jf)

It attempts to address a similar problem (comparing json or subsets of json), but I wanted the structure of what was being compared to be more readable (compared to jq), so I went with graphql syntax. Doubt it would do great on larger datasets though.

</comment><comment><USER22> I'm not sure why you are comparing the data to the old export instead of against a source of truth... for example what is in the upstream data source. Also why not verify using unit tests? Who is to say that the original export is valid and not the second export.

<comment><USER23> In theory, I agree! I hope the new codebase has a set of tests to validate just that.

But, in practice, you have a downstream consumer of this data format (Apple in this case..).. Validating the old and new formats are functionally identical is just as important as validating the new format matches the upstream source of truth :)

</comment></comment><comment><USER24> I'm using jsonassert [1], a Java based JSON unit testing library, for something very similar.

Not sure how it'd handle comparing 5GB files though.

1\. [http://jsonassert.skyscreamer.org/](http://jsonassert.skyscreamer.org/)

</comment><comment><USER15> I'm curious how well could Crystal language handles that huge amount of JSON since most of the Ruby code could be ported over to Crystal.

It has a JSON pull parser to minimize memory usage which is useful for memory constraint environment but at the expense of less performant. If that could be split up with fork Crystal processes, I believe it's feasible.

<comment><USER14> There are stream parsers for JSON for Ruby too, including bindings for C libraries like YAJL - using the default JSON parser is an awful choice for doing comparisons like that given the massive overhead of the amount of objects it'll be creating for no good reason.

<comment><USER15> Agree, I believe the benchmark shown Yaji and jq in this repo is useful for you

[https://github.com/kostya/benchmarks/blob/master/README.md](https://github.com/kostya/benchmarks/blob/master/README.md)

</comment></comment></comment><comment> forgot-my-pw If speed is essential, why not use protobuf/flatbuffer or one of their variants?

</comment><comment><USER25> I wanted to like jq, but honestly, I can't figure out it's crazy syntax.

<comment><USER26> it's a bit weird, but it's perfect for writing quick shell one liners with once you get used to it. no regular scripting language can match it for that

<comment><USER27> awk, sed?

<comment><USER28> For extracting a value out of json where the keys can arbitrarily re-order and you have nested maps containing the same key names? No thanks.

<comment><USER27> I was providing them as examples of things "perfect for writing quick shell one liners", not good JSON parsers.

</comment></comment></comment></comment></comment><comment><USER29> +1 for a great tool.

</comment><comment><USER30> I wonder if a C/C++ programm would perform better?

<comment><USER31> jq is a C program.

In theory a truly specific program could work better. In practise, the broad scope of jq allows you to discover the operations you need and respond to changes in requirements without being locked into custom code, and any given programmer probably couldn't do the same job better.

<comment><USER8> jq is a C program, yes, but jq programs are interpreted. Because jq is a dynamically-typed language, it wouldn't be easy to compile it to object code that would run too much faster than the byte-interpreted version (though it would still run faster).

As you say, jq's power is that it is an expressive language, and it's much much easier to write jq programs that work than it is to write C/C++ programs as needed that do the same or similar work.

<comment><USER31> The interpreted language is just the setup phase for a pipeline of compiled-in data transformations.

<comment><USER8> I don't understand this statement. Keep in mind I'm a jq maintainer.

</comment></comment></comment></comment></comment><comment><USER32> > What's the best way to compare these two 5GB files?

A much simpler way to do this is simply to hash the files, for example using sha256sum, which AFAIK ships with just about every Linux distro. Then just compare the hashes.

<comment><USER33> Having the same content is not the same as being identical verbatim.</comment></comment>


The Rise and Fall Of Google Authorship For Search Results - <AUTHOR> http://searchengineland.com/goodbye-google-authorship-201975

<comment><USER2> "We all like to think that Google has infinite processing power. They don't. If they did have such power, they would use optical character recognition to read text in images, image processing techniques to recognize pictures, speech to text technology to transcribe every video they encounter online, and they would crawl every page on the web every day, and so forth, but they don't."

I am actually pretty certain Google does most (if not all) of that. Thus, I doubt this has anything to do with processing power - after all, it's not that much additional data.

As with any other "known, positive" ranking signal, mostly SEO-savvy sites implemented rel="author" markup. However, Google must have anticipated this, so it's probably something else.

Overall, I'm actually surprised Google relied on explicit markup to accurately detect authorship. They are probably able to do so anyway. Maybe the purpose was just another push for Google+?</comment>


Analysis of casino shelf shuffling machines - <AUTHOR> https://projecteuclid.org/euclid.aoap/1371834042 <comment><USER3> A lot of what we call Card Shufflers are actually Card Rifflers - <USER2> 2 halves of a deck together.

Juan Tamariz has made a career in card magic based on most people not knowing the difference.

</comment><comment><USER4> TL;DR: Lots of math is used to show that a novel mechanical card shuffler using psuedorandom numbers needs to be run twice in a row to be effective at preventing players from guessing the resulting cards.</comment>


Ask HN: What do you use to prototype mobile apps? - <AUTHOR>

Okay so I've been getting this a lot and thought maybe we should start a discussion here.
What software do you use for prototyping your app? I'm talking android, iOS and web apps
Does it include design features?
Does it allow users to import the code?
Let's share and benefit startups <comment><USER2> I've been using Balsamiq Mockups. I'm finding that a few clients don't like it much if they're the type of people that don't have much imagination.

Will need to find something else if/when I start freelancing again.

</comment><comment><USER3> Might want to try Pencil: <http://pencil.evolus.vn/Stencils-Templates.html>

</comment><comment><USER4> We have been using <http://justinmind.com> for prototyping. It's worth trying.</comment>


Ask HN: automated random browsing against profiling? - <AUTHOR>

Many people complain that all we do online is tracked and that governments, ips or even private people know too much about our interests, political views, purchasing preferences and so on. To balance what we do, we could to the contrary: if a read a left wing blog, and then I pretend to read a right wing one..they won't know my views! What about an app which "balances" all we do online? <comment><USER2> It's a funny idea but not too useful I'm afraid. Poisoning your own profile may help in the long run if many people do it because it destroys the value of mining personal data. But if you are one of a few doing it, you just come across as weird and it could even be counter productive.

Your affiliation with the NRA will not undo your wikileaks donation. Adding a right wing blog to a left wing blog will not make you look like a moderate.

To mislead a data mining algorithm in a desirable way requires very specialized knowledge of what the algorithm does. There is no such thing as a generalized notion of a compensating action.

But I still think there is demand for tools that help "sanitize" public profiles.

<comment><AUTHOR> Any action going into the direction of "hiding" what I do online will be seen as hiding something and will rise suspicions. While "balancing" seems harder to spot, because it all goes under the "normal traffic" category. I don't know if the implementation is even possible, but the idea to put some smoke in the face to who is spying me is intriguing :)

</comment></comment><comment><USER3> It's a fine strategy to do if you are very paranoid about your privacy. However, using a VPN that you switch every year or so, and using something like www.disconnect.me, to not load every Facebook Like button, would do much more with only the setup time (< 1 hour a year).

or you can do what a friend of mine does: signup as a 12 year old girl from Texas for every service out there. :-)</comment>


Introducing the Picwing Smart Frame (YC S08) - <AUTHOR> http://www.picwing.com/blog/?p=22

<comment><USER2> My grandfather is 90 and has parkinsons and I've been looking for something like this for him. He is still sharp, but he was never good with computers and lately he's pretty much lost whatever ability he had. The key thing I need is the ability to send him podcasts and videos of booktalks that queue up sequentially as if they were blog posts in an RSS feed. What I also need is the ability to check online to see if he's already viewed something, and if so the ability to get rid of it and add more stuff to his queue.

<comment><USER3> Try <http://www.ceiva.com> My grandma loves the frame! it only needs dialup and just cycles through the pictures all day. Youu can control which pictures are on tthe frame and it updates every night. she absolutely loves it.

EDIT: woops, I now see you want videos... the ceiva frame doesn't do videos or audio, just pics.

</comment></comment><comment><USER4> This is awesome. Picwing, any chance of an article on your journey to manufacturing? Engineering the frame, developing the software, finding manufacturers that will work with startups...

<comment><USER5> I second that, I really would like to see the experience of a startup getting into manufacturing (especially finding the manufacturers and how you work with them)

<comment><USER6> I third that. I admire that these guys went after a difficult idea (hardware/software combined product) and didn't just settle for yet another web app. Karma will reward them, because their revenue model is simple and it will be much harder for copy-cats to steal their market.

Also, it looks bad-ass (if a little unresponsive).

</comment></comment></comment><comment><USER7> Be careful with "smart frame". There are 9 active trademarks with those words, several of which pertain to picture frames.

We've recently learned a lesson about trademarks here. Even simply using the words to in your product description (and not necessarily a product name or slogan) will run you afoul of trademark holders. Also, trademark attorneys will often fish for billable hours with overzealous trademark enforcement.

I don't know how far you've looked into it so far. The product is awesome. Make sure you've got your bases covered, there's going to be some jealousy.

<comment><USER8> Besides, language shapes debate. Why call it what others call their more inferior products? Seems like a good opportunity for a new name/product category.

Feed frame? Stream frame? App frame?

<comment><USER9> Go to your nearby Walmart or Best Buy and ask a customer there if feed frame, stream frame, or app frame means anything to them. You need something more basic that the average person would quickly grok. [EDIT: But it's not like I have any better ideas.]

<comment><USER8> A few years ago, would they have responded to "smart frame"? Why be limited in a name (if they can use it) by the poor technologies of others?

Life frame? Live frame? Living frame?

<comment><USER9> I like Life Frame. What about Web Frame? Nah, Life Frame beats that one.

</comment></comment></comment></comment></comment><comment><USER10> I'm not that interested in the photo sharing side of the Picwing, but it looks like this could become a pretty badass little device for all sorts of networked display/control applications. Will the OS or API be open for hackers to develop and deploy their own applications? If so, I could totally get on board with this.

<comment><USER11> Yes, we are planning to release an API to develop new applications for the frame. We have done some work already in that regard but we want to have something very solid before releasing it.

<comment><USER10> Awesome. The other thing, and I expect you have this in mind already, is that if I were to buy one, I'd want a thinner more modern bezel instead of a picture-framey one. Are you planning to make different styles/colors available in the future?

<comment><AUTHOR> Def. We'd like to have something that looks a lot slicker in the future.

</comment></comment></comment></comment><comment><USER12> Picwing (or _someone_ ) should make the reverse of Eye-Fi (<http://www.eye.fi/> ; it's a WiFi enabled SD card that transfers photos _from_ your digital camera to your computer).

The reverse would just be a similar card (probably identical hardware, just different software) that can be plugged into _any_ frame, and automagically download images from Picwing's website, or an RSS feed, or whatever.

I'd buy it.

<comment><USER13> Eye-Fi & PicWing need to team up!

Take a photo(s) from dig camera and instantly it's published on my and my friend's PicWing compatible devices. From photo frames, to TVs to screensavers to Tivos ..Boxee .. Windows Media Center...flickr accounts, facebook profile, etc...

</comment></comment><comment><USER14> If you ever need a fallback idea you could try turning Picwing into a monitoring tool for NOCs (network/server health) or financial systems. I think you'd have an easy time selling lots of units to both groups of customers, and there's probably a lot of other people who would need a cheap display device for monitoring purposes.

<comment><USER11> That's a great idea. Thanks for the suggestion !! We have also thought about using them as kiosks for events like conferences or for taking orders in different businesses.

<comment><USER15> Keep your prices down and your APIs open and people will do this stuff for you, and feel like great hackers for doing it. Kiosks seem like the kind of thing entrepreneurs love to dream up business ideas for and none of them seem to make much impact - that's a purely unscientific intuition.

<comment><USER16> _Keep your prices down and your APIs open and people will do this stuff for you_

A mere upvote can't express how good I think this advice is.

<comment><AUTHOR> This advice will be well noted. Thanks.

</comment></comment></comment></comment></comment><comment><USER17> How much does this thing cost?

<comment><USER18> Out of date review:

"One major flaw would be the price issue - it costs a whopping $249 for a 7″ Picwing digital photo frame"

Maybe it's come down by now, but at that price, may as well buy a netbook.

<comment><USER19> Well, given that this thing appears to _be_ a netbook from a hardware standpoint, it's hard to complain if it costs about as much as a netbook!

Before you conclude that the only thing preventing people from owning netbooks instead of appliances is the price, be sure to spend several hours pondering the lessons of Slashdot's infamous initial review of the iPod: " _No wireless. Less space than a nomad. Lame._ "

[http://apple.slashdot.org/article.pl?sid=01/10/23/1816257...](http://apple.slashdot.org/article.pl?sid=01/10/23/1816257&tid=107)

I think this frame is pretty exciting, even if the Chumby is more cuddly.

<comment><USER9> This one is even better:

 _Raise your hand if you have iTunes ...

Raise your hand if you have a FireWire port ...

Raise your hand if you have both ...

Raise your hand if you have $400 to spend on a cute Apple device ...

There is Apple's market. Pretty slim, eh? I don't see many sales in the future of iPod. _

<comment><USER20> Those were legitimate criticisms at the time. I certainly would have never got one if they hadn't started using USB.

<comment><USER17> The Picwing is also not as much of a breakthrough as the iPod was, to make an obvious point.

<comment><USER20> Yeah, a music player that plays music. Novel idea. What's the breakthrough about it?

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> Besides the larger display, does anyone know how this compares to the chumby?

<comment><USER11> This is Enrique from picwing. In addition to the larger display, the picwing frame runs on a faster hardware platform, supports Actionscript 3 for application development and doesn't require the user to go to a different computer to customize and install widgets. Eventually we would like to release an application store (running on the frame itself) for people to install new apps for their frame. We are ourselves big fans of the chumby and we have tried to learn from its advantages and shortcomings.

</comment></comment><comment> jim-greer Wish I'd ordered one of these - I just got my parents a Kodak wireless frame (<http://www.amazon.com/gp/product/B0016NOTOI>) and setting it up to pull grandbaby pictures from Flickr was painful. Aside from the predictably terrible software design, it's not a touch screen - it has this weird touch strip on the bottom and right of the screen.

For my parents baby pics/videos plus easy access to NPR podcasts in the kitchen would be very attractive. One button videoconferencing would be very cool too. Good luck with the manufacturing.

</comment><comment> old-gregg This is really cool. Can I ssh into it and load up my own programs to run on it or show an arbitrary web page?

As a true geek and photography hobbyist I wouldn't even think of using it for pictures (LCD, I bet, is terrible - even laptops don't come with decent LCDs anymore) but man... there is so much stuff I could use this for! From weather to error notifications from my production servers, delivered right to on top of my fireplace. Sweeeet.

So this isn't in production yet?

<comment><AUTHOR> Well, it _is_ running on Linux, so you could pretty much do whatever you want with it. But, we officially only allow running of flash programs that are built using our (loose) framework, so that it integrates nicely with our operating environment.

We did a limited production run, but are currently not producing them anymore so that we can concentrate on software development more.

</comment></comment><comment><USER22> This is cool stuff. I think picwing will do great as a kind of clock for any kind of data, driven of the internet.

For ex.

1\. A web startup could use it to showcase their website metrics (visits,pageviews etc.) in real time. 2\. Could be used to show updates about a game - cricket scores for example will be a big hit. Especially inside an office where television is not accessible.

<comment><USER23> Even just having a photo frame that also displays tomorrow's weather and an NTP-synced clock is a great but simple step forward for photo frames

</comment></comment><comment><USER18> Emailing to the frame sounds kinda cool, but if this takes off, expect to see a _lot_ of spam photos inviting you to purchase viagra, or go to their porn site etc.

<comment><AUTHOR> You can specify which emails are allowed to send pictures to your frame. We have some software that will filter out forged headers on emails as well. So far, it hasn't been a problem for us.

<comment><USER18> Ah that's cool. I'm just thinking of possible issues in the future. Giving one of these to a grandparent, and then them being emailed goatse etc would not be a good thing.

</comment></comment></comment><comment><USER24> Will orders be limited to US or will it be international? I am from Canada, the land where most cool tech gadgets dont end up or are a year late :(

</comment><comment><USER25> Will it show photos from a Media RSS feed?

</comment><comment><USER26> It has it's own e-mail address?

Great - what happens when a prankster starts mailing Goatse to my living room?

<comment><USER27> Photosharing sites like flickr have autogenerated email addresses for mobile upload and this doesn't seem to be an issue.

Also it looks like emails to this device goes to the 'messages' app for review first [is this correct?]

</comment></comment><comment><USER27> Looks really great. What are the physical dimensions of it? As compared to an iPhone or a netbook for example?

</comment><comment><USER28> Technical specs -- please!!!

</comment><comment><USER5> I would definitely use it as a way to see analytics data on a website

<comment><AUTHOR> Noted. A quick search seems to reveal there isn't a google analytics API. Anyone know if there are APIs for any other major analytics suite?

<comment><USER29> You can have Google analytics e-mail reports to you.

Could you just have them sent to the picwing every hour or so and you guys display the data somehow?

</comment></comment></comment><comment><USER30> Might want to edit the loading time for the YouTube video out.

<comment><USER17> So that bloggers can call you on it the same way they did when Apple did the same thing. Nothing like a little drama to spice up a product launch.

<comment><USER30> I kind of expect loading times on stuff, especially a video, but I don't want to sit through 5 seconds of it when watching a demo. It's boring. People won't hold Picwing to the same standards as Apple.

</comment></comment></comment><comment><USER31> That is sweet, also Boxee would be a great app for it.

<comment><AUTHOR> Boxee would really be a cool app for it. Also, we thought about a TV-guide application on the frame as well, so it could be a companion to your TV.

<comment><USER32> How about an alarm clock? There's more people who use alarm clocks than have twitter accounts. Add your existing weather app, so I can see what to wear in the morning.

Also a simple Facebook feed? Using the Python API you can do this in a few minutes, give me a buzz if you want me to paste example code.

<comment><USER33> > How about an alarm clock?

Yup, with sleep.fm integration.

</comment></comment></comment></comment><comment><USER34> Wow! great device looking forward to seeing it at my local store one day :)</comment>


Preview of BlackBerry's Android-powered Priv - <AUTHOR> http://www.cnet.com/products/blackberry-priv/ <comment><USER2> Still love the fact that they are not giving up on the qwerty keypad..</comment>