US post office carriers "forced to work fewer hours," leaving "buckets of mail" - <AUTHOR> https://www.theguardian.com/business/2020/aug/16/usps-mail-delays-postmaster-general-changes-workers <comment><USER2> Shame that this got flagged.

From the site Guidelines: "Off-Topic: Most stories about politics, or crime, or sports, unless they're evidence of some interesting new phenomenon..."

I'd say that rampant voter suppression in the United States is a an interesting new phenomenon.

<comment><USER3> No doubt your president wants to limit it, but you have to understand most of the people in the west would see postal voting without proper documentation and system that is verifiable is insanity and borderline corruption.

<comment><USER4> For some historical context, IDs cost money in most states and there's no national identification system. So if you implement voting ids, all it does is end up being voter suppression because generally the poor cannot afford to get a driver's license or cannot afford to drive therefore don't have a license. State Ids have a similar issue.

Historically, voter ID laws have been associated with disenfranchisement.

<comment><USER3> You could make a sane argument in EU countries since getting documents and keeping them updated in every 8 years costs money here as well but no one would take that argument seriously here.

<comment><USER4> Yeah but the EU or EU countries will just eat the costs for the populace. In the US, this is a contentious issue (as is every social program for the poor tbh).

<comment><USER3> Depends what you mean, usually there's a small 20-30 euro tax for documents.

</comment></comment></comment></comment></comment></comment><comment><USER4> It's interesting to see that in America, some government services can run at a loss but others are expected to be solvent. No one complains that the military doesn't pay back the 700 billion a year it takes but if public transportation goes over budget or the post office, suddenly it's a big deal.

I honestly don't get it. Most services in most countries run at a loss but they provide huge public benefits so it's worth it. The USPS allows people to vote, seniors to get their medication, people to pay mortgages or send packages.

It seems so non-political and yet somehow even the most basic of services provided by the government are now a battleground.

I feel like this country has just collectively lost its mind.

<comment><USER5> Even if there was some sort of budgetary problem, it seems logical that services that are explicitly required by the Constitution, such as mail and census, would have precedence over those that are not.

<comment><USER6> Article 1 Section 8 gives congress the power to collect money to provide postal service it does not require that they do so. This is opposed to Article 1 Section 2 which states a census shall be done and how often.

This isn't to say I'm against the USPS or anything of that matter just that lately I've seen "postal services are mentioned in the constitution" turned into "postal services are required by the constitution".

</comment></comment></comment><comment><AUTHOR> I posted this article.

 _To dang and the other moderators_ : I hesitated quite a bit before posting this, due to its possible interpretation as a "political post"... but after some thought decided to go ahead and post it, because I find it both important and interesting, in the sense described in the HN guidelines, so I felt it was on-topic. But if you judge the OP is off-topic or should be flagged to avoid unproductive commentary, please leave it flagged; I know it's a matter of judgment and I trust yours :-)

</comment><comment><USER7> > DeJoy instructed USPS employees to leave mail behind if it delayed carriers > from their routes

I mean, this does make sense. The more time you can spend doing the route itself, instead of waiting or coming back mid-way for whatever couldn't be sorted in time in the morning is more "lean" efficient.

While some mail would take an extra day, it results in more mail delivered per carrier-hour.

<comment> kube-system But should the USPS operate that way? The purpose of a government-operated mail service arguably is to guarantee the quality and types of services that free-market competitors can't or don't want to offer.

<comment><USER8> The irony of so many anti-service people is that most of them turn around and hate big corporations just as much. It's like they envision a Comcast-esque corporation taking over USPS, but forget that they hate Comcast.

Disliking corporations and anti-competitive behavior of big corporations seems to be a non-partisan issue; and yet there seems to be much support for making everything ran by massive corporations. I don't understand their line of thinking here.

<comment> kube-system I'm not sure if they're the same people or not -- but I don't think it really matters. There are pros-and-cons to any system of organization. Whether you have chosen the right one depends on the goals of the organization.

Be wary of anyone who fanboys too hard for anything in particular without discussing its merits and weaknesses versus the alternatives. They likely don't have a full understanding of either.

</comment></comment></comment></comment><comment><USER9> "prohibited employees from working overtime" Cause they can't pay them overtime rates.

</comment><comment><USER10> Genuine question: seems like this is mostly a political post without much relation to the typical content one would expect on HN. Is there some kind of "off-topic" policy at HN for these things, or is it fair game given that enough people upvote it?

Edit: article seems to be flagged now, guess I have my answer.

<comment><USER11> If I remember correctly, HN is supposed to have information interesting and useful for thinking people. This example doesn't qualify as off-topic then.

<comment><USER10> Apparently the guidelines even explicitly say:

"Off-Topic: Most stories about politics"

I would certainly classify this as such.

<comment><USER11> Good exception. I think you're right... benefits of discussing can be outweighed by how easy it is to drop into a bad quarrel.

</comment></comment></comment></comment><comment><USER12> The article says:

 _> Trump said on 13 August that he opposes providing additional funding to the USPS to make it more difficult to deliver mail-in ballots._

That comment links to another article, where the first paragraph states:

 _> Donald Trump admitted on Thursday he opposed additional funding for the United States Postal Service (USPS) in order to make it more difficult to deliver mail-in ballots._

I searched Google and YouTube but can't find the original source, only commentary on it. Does anyone have a link?

 _Edit:_ Maybe it's referring to [https://youtu.be/0ieLG29X_oE?t=840](https://youtu.be/0ieLG29X_oE?t=840). I don't know much about the facts here, but Trump seems to be asserting that Congress is bundling $15–25B in USPS funding in a mega-bill that includes trillions of dollars of bailout money for states, and thus the bill has stalled. He also keeps harping on the failures of mail-in voting (but says absentee works well). I don't know what to make of it, but it's certainly frustrating that multiple news orgs are claiming that Trump is intentionally hamstringing the USPS to harm democracy, when I don't take away any such conclusion from that shitshow of an interview.

<comment><USER13> The source is this Fox News interview:

[https://www.foxnews.com/politics/trump-seeks-to-starve- post-...](https://www.foxnews.com/politics/trump-seeks-to-starve-post-office- to-limit-mail-in-voting)

No timestamp because I couldn't bring myself to listen to all 40 minutes.

<comment><USER12> Thank you. Yeah, these interviews are painful to listen to. Trump said:

 _> [Democrat representatives] want $3½ billion for the mail-in votes, universal mail-in ballots. They want $25 billion for the post office. They need that money in order to have the post office work so that it can take these millions and millions of ballots. Now those are just two items [in the bill]; if they don't get there, they can't have mail-in ballots. [A bunch of rambling about failures of mail-in ballots in VA, NJ, etc.]_

He seemed to me to be saying that if the Democrats want mail-in ballots, they're going to have to find a way to get this bill passed that would give more funding to the post office. Trump emphasized repeatedly that they're asking for $3.5 billion dollars ("that's a lot of money") for the mail-in ballots.

</comment></comment></comment><comment><USER14> > _Trump himself has admitted to wanting to starve the postal service of funds > so that mail-in voting will become difficult, as tens of millions of > Americans are expected to vote by mail during the coronavirus pandemic._

This is why I can't help but admire Trump, the fact he remains untouched proves how cunning him and his team are. Either that or how fragile the checks and balances system truly is.

<comment><USER15> How is anything about his hamfisted (publicly admitted) attempt to disenfranchise voters even close to cunning?

Maybe it's because his party and half of America is also on board with it?

<comment><USER16> If someone can stand in line for the cashier at Home Depot and Whole Foods, they can also do so at the voting booth.

Mail-in voting has no tracking of the voter receiving the ballot and if a filled out ballot is counted. It also has no verification of who votes and no protection to make the vote anonymous.

<comment><USER17> Yeah, none of that is true. There was a recent article about how it works in Colorado: [https://www.denverpost.com/2020/08/16/colorado-denver- mail-v...](https://www.denverpost.com/2020/08/16/colorado-denver-mail-voting- usps-2020-election/)

<comment><USER16> I am talking about the "last-mile" problem of securing that the mail carrier getting the ballot into the voters hands and securing that the ballot gets from the mail box to the counting location.

At a physical voting location you know 100% a person gets a ballot and you track the ballot from it's put into the voting box.

As far as I can tell this process deals with neither of these problems.

</comment></comment></comment></comment></comment><comment><USER18> USPS has been bound to fail for years. Isn't HN all about efficiency? What's so great about wasting money on a company that can't compete in the private markets and refuses to innovate?

Give it to the markets, but give them tax breaks or loans for offering services USPS offered. (Shipping to far away areas for a low cost, for example)

It's incredibly that some people still think we should have this cash burning & horrible service business alive.

<comment><USER2> Copy/pasting jorblumesea's comment above that I think answers your questions.

"It's interesting to see that in America, some government services can run at a loss but others are expected to be solvent. No one complains that the military doesn't pay back the 700 billion a year it takes but if public transportation goes over budget or the post office, suddenly it's a big deal.

I honestly don't get it. Most services in most countries run at a loss but they provide huge public benefits so it's worth it. The USPS allows people to vote, seniors to get their medication, people to pay mortgages or send packages.

It seems so non-political and yet somehow even the most basic of services provided by the government are now a battleground.

I feel like this country has just collectively lost its mind."

<comment><USER18> Would you want a socialized fast food chain, or computer company? Probably not, and do you know why? It's because these are services clearly designed for the market to solve. I hope we can agree there. Delivery is just something that's FAR more efficient in the markets.

And the difference in inefficiency is just going to grow. Look at what UPS has been doing the past x years. They constantly reinvest money into new tech and decreasing labor, and USPS just gets more money from the government.

It's a fair question to ask "at what difference in cost should we stop giving USPS money because we're wasting so much of it". I think we've reached that difference already.

You know what happens when you raise a child with an unlimited allowance and no incentive to work?

America will stay ahead because of our belief in the private markets. Socialization of services can do good in the short term, but almost always looses out to competition in the long term.

<comment><USER19> The USPS has mandates from the federal government like having to deliver mail to far flung unprofitable areas and to deliver mail on Saturdays. Lets see UPS get saddled with these requirements and then "look at what UPS has been doing the past x years".

There was a time when taxpayers were taking money out of USPS, maybe it should be returned to USPS with interest?

<comment><USER20> > maybe it should be returned to USPS with interest?

Interest is an evil and harmful practice. We've known it for thousands of years.</comment></comment></comment></comment></comment>


The curious case of equidistant boxes, a CSS fail - <AUTHOR> http://blog.directededge.com/2010/04/30/the-curious-case-of-equidistant-boxes-a-css-fail/ <comment><USER2> Browsers know how to do this perfectly well with _text_ —it's simply justified alignment. Shouldn't it also work for inline-blocks?

<comment><USER3> Wow! That's a crazy and ingenious idea and it seems to work:

<http://limpet.net/mbrubeck/projects/justify-block.html>

View source to see the details. It's very slightly tricky because the last line of a "text-align:justify" element is not fully justified, so you need force it to wrap. In my test file I used a generated "spacer" element to do this. In practice you would probably hide this element by setting its height to zero or something.

One nice thing about this is how it continues to work even as you resize the container so the children don't fit on one row. (Resize your browser window to try it.)

<comment><AUTHOR> Hmm, messing around with this at the moment. Your test case works in IE 7 (fired up VMWare to give it a spin -- noticed my example code actually doesn't, but the real widget does), but I still haven't gotten it working with real images. I'll update here once I see if I can get that going.

As an addendum, in the non-contrived case (the one the widget actually uses) it also allows text to spread beyond the width of the image above it unless it's on the extreme edges; I haven't yet thought through if that'd be possible with this or using td spacers with a little extra finageling.

[http://blog.directededge.com/wp- content/uploads/2010/04/reco...](http://blog.directededge.com/wp- content/uploads/2010/04/recommendations-test-shop.png)

Note the _Coffee > Everything_ label.

Edit: Reason it wasn't working in IE 7 was because I didn't add a doctype and it dropped into quirks mode.

<comment><USER4> I quite doubt there's a way to do overflowing text like that with only CSS without nastiness. Though, someone, correct me if I'm wrong; I'd be fascinated to learn how, if it's possible.

With images, I've managed this: <http://dl.dropbox.com/u/363028/temporary/justify_images.html>

Though it's giving me a 4px taller container for the images than is needed :\ (forgive me if I'm missing something obvious there) It works on Safari 4 w/o the widths or the height, too, all that's needed are justify, inline, and that spacer (nice catch, that).

edit: via browsershots: [http://browsershots.org/http://dl.dropbox.com/u/363028/tempo...](http://browsershots.org/http://dl.dropbox.com/u/363028/temporary/justify_images.html)

looks pretty consistent, for the most part. Probably breaking on inline-divs where it's failing. (and Opera is the only top-aligning one...? maybe that's a user stylesheet issue.)

<comment><USER5> You can do the overflowing labels by given the label box a negative left and right margin. Or a negative right margin and a corresponding relative position.

Of course, this gives you no guarantee that there wouldn't be two overlapping labels in adjacent products. To test for and prevent that, you would still be on the hook for some JS, but it would be much simpler than the JS that's already in place. Basically just some jQuery to step through the pairs of adjacent objects and check the overlap of the internal spans containing the text.

</comment></comment></comment></comment></comment><comment><USER3> The CSS3 solution is the Flexible Box Model. It's been implemented in Gecko and Webkit browsers for a long time now: [http://hacks.mozilla.org/2010/04/the-css-3-flexible-box- mode...](http://hacks.mozilla.org/2010/04/the-css-3-flexible-box-model/)

Anyone want to write a compatibility shim for IE?

</comment><comment><USER6> A trick that may get the desired effect is spacer TDs -- without specified dimension they'll each expand equally to fill out the desired width. Working example for Mac FF/Webkit browsers:

<http://gist.github.com/386146>

 _edited to add:_

Live example, now including liquid-width demo as well: <http://xavvy.com/news.yc/html-distribute.html>

<comment><USER7> gotta agree -- a table with spacer TDs is going to be your best solution here. like mbrubeck mentioned, justified blocks are going to require a hack since it's the last line of content.

perhaps the design can be thought out again, though. instead of getting the first flush with the left and last flush with the right, you could just create a bunch of blocks with centered content (think: floated list items in a list). there will be a little extra spacing on the left and right, but you can design it so that it's not too bothersome. i'm thinking

      (_A_)_(___B___)_(__C__)_(_D_)

instead of

       (A_______B________C______D)

your point about CSS having not really solved this problem yet is a valid one, but solutions are in the works (namely, the flexible box model).

<comment><USER8> terfo asdasd

</comment></comment></comment><comment><USER9> I must admit I would probably have opted for a simpler solution, like a fixed spacing and just centering the whole group horizontally.

Also, would it look good with multiple columns? I think items would have to be aligned vertically for it to look OK?

</comment><comment><USER10> I don't think using JavaScript to fix something CSS can't do is the proper solution. I think to draw a static width box around the variable width items or just not worrying about the flush on both sides (something you can accomplish with CSS if you're willing to use an extra container to wrap all items except the last.)

But styling via JavaScript because you couldn't do it in CSS? Yech. Especially if it's not some kind of UI component that needs JavaScript interaction like an accordion or drag handle or something.

<comment><USER3> Maybe I spent too long around TeX and Postscript, but it seems perfectly natural to me that when a layout can't be described in a declarative language like CSS, you would turn to a computational language instead.

<comment><USER11> Fixing layout in javascript has negative performance implications. Either you embed the js in the html, in which case every page is larger than necessary, or you put it in a separate file, in which case your layout can't be rendered correctly until another file is loaded.

I'm not sure what the author's point was exactly. There are tons of things that are easier to do with "classic" html or just plain hard to do with css alone. Even though we've been hearing ever since its invention that css is incredible, I'm still not convinced. It's certainly useful, but in so many ways limiting and annoying.

<comment><AUTHOR> > _Either you embed the js in the html, in which case every page is larger > than necessary, or you put it in a separate file_

Which is different from CSS how exactly?

Text is small and most sane server configs are gziping it on top of that. We're literally talking about 500 bytes.

<comment><USER11> Well, you can't reasonably avoid external CSS, but you can reasonably avoid external JS. I still have tons of pages without external Javascript. I'm fairly sure I don't have a single one without external CSS.

As for gzipping etc. it's the not the actual size that matters it's the latency + the fact that it's a new connection. TCP/IP connection takes a while and then (for larger files) you have to deal with slow start. This wouldn't be a huge deal if everyone supported pipelining, but they don't.</comment></comment></comment></comment></comment>


AbstractSingletonProxyFactoryBean is abstract - <AUTHOR> http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html

<comment><USER2> I don't know why this is getting so much attention... the documentation makes it perfectly clear that it's just a "Convenient proxy factory bean superclass for proxy factory beans that create only singletons."

<comment><USER3> What's the best practice for conveniently generating proxy factory bean superclasses? From my research it seems an abstract factory factory would be the appropriate design pattern, but I don't want to reinvent the wheel

<comment><USER4> You want an abstract factory factory factory.

</comment></comment></comment><comment><USER5> I got annoyed by some of the daft names in Java, so I went through and found some of the worst offending method names. The longest method names I could find are "supportsDataDefinitionAndDataManipulationTransactions" (for Java Development Kit) and "setApplyWebRequestInterceptorsToRenderPhaseOnly (for Spring).

(see [http://www.fatvat.co.uk/2011/05/method-names-in-java- develop...](http://www.fatvat.co.uk/2011/05/method-names-in-java-development- kit.html)) for more details.

<comment><USER6> If you don't like long method names, stay away from Cocoa.

      -willAnimateSecondHalfOfRotationFromInterfaceOrientation:duration:
      -gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:
      -initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:

</comment></comment><comment><USER7> Did anyone else think this name was a joke at first?

</comment><comment><USER8> I don't see the problem. This class is an abstract factory so yes it is abstract!</comment>


God's Lonely Programmer (2014) - <AUTHOR> https://motherboard.vice.com/en_us/article/wnj43x/gods-lonely-programmer <comment><AUTHOR> Discussion about the article [https://news.ycombinator.com/item?id=8658283](https://news.ycombinator.com/item?id=8658283) and his account: [https://news.ycombinator.com/item?id=7818823](https://news.ycombinator.com/item?id=7818823)

<comment><USER2> [https://news.ycombinator.com/user?id=TempleOS](https://news.ycombinator.com/user?id=TempleOS)</comment></comment>


Ask HN: Best way to guess gender based on persons name - <AUTHOR>

Hey guys,
I need to write a script that will try to guess a persons gender based on given a given name.
What do you think the best way to do this is? I am thinking the best way is to look up the name in a large name/gender database (if there is one).
But it seems to be that some maths and syntax should also do the job...
What do you guys think? <comment><USER2> 1\. Start with a database of popular names, like might be found in a baby name book.

2\. Ask the user to input the name to be guessed.

3\. Lookup the name in the database. If the name supplied by the user is not in the database, add the name to the database.

4\. After the name lookup or insertion in the database perform a guess as to the sex of the name based on the data from the baby name book and weighted by previous user corrections for that name.

5\. Print the guess to the screen (male or female) for the user to verify.

6\. Ask the user to input if the guess is correct or incorrect.

7\. Store the users input regarding if the guess is correct or not linked to that particular name to improve the future accuracy of the guess on that particular name.

<comment><AUTHOR> That's exactly how i've got it now...it looks like it might be the best solution...Thanks Scott :)

</comment></comment><comment><USER3> It's hard to give an answer without knowing more about your input data and what you intend to do with the output.

On general principle, "math plus syntax" seems like a highly error-prone approach, especially if you need to process anything that's not a standard English name, or if you have lots of users named Pat. E.g. diminutives of Russian _masculine_ names often end in "a". I'm sure there's names which are masculine in some countries and feminine in others. Etc.

</comment><comment><USER4> <http://amp.ece.cmu.edu/people/Andy/projectpage_names.html>

"Estimating Age, Gender, and Identity using First Name Priors"

Although the paper looks at this in the context of computer vision -- matching faces in an image with names in the caption -- it should provide some information (and references) on your problem.

<comment><AUTHOR> Thanks. Will have a read.

</comment></comment><comment><USER5> Mechanical Turk job.

Perform a Google search of the name, bring up all the pics that return and get the Turker to identify if the photos are male or female.

<comment><USER6> Google image search is a good start, but why pay humans, surely it wouldn't be hard to write a pattern matcher that could differentiate between male and female photos.

Google image search could also allow for breaking down the results by geo- location.</comment></comment>


Sift: Grep on steroids - <AUTHOR> https://sift-tool.org/ <comment><USER2> Can someone write a TL;DR how this works?

I've read a bit about ag, which is rather fast compared to anything in the wild, and it seems that it utilises all tools to make it as fast as possible. Though, sift can be up to 8 times as fast. How?

EDIT: also I remember, that the last time it was posted here (or either /r/programming), the benchmark was considered not true. Few checks on few folders (from big to small) renders sift slower than ag from 5 to 20 times (though probably faster than grep and/or ack).

EDIT2: [https://github.com/svent/sift/issues/7](https://github.com/svent/sift/issues/7) \- about benchmarks. Maybe numbers are true, but they are done in rather specific conditions, with specific cases, where sift can be possibly faster. But in general development it will be rather slow.

<comment><USER3> It's basically equivalent to:

      $ export LC_ALL=C; grep ...

The regular grep works on Unicode, which can be 10 times slow. Sift works on plain bytes. Also sift benchmark is somewhat inflated. Test on your own data.

<comment><USER4> There was an article about haskell vs C where, haskell would appear slow at first because its string type was unicode while C was ascii. When using unicode the c code suddenly was a bit slower than haskell's. Details matter.

<comment><USER5> To be perhaps even more fair, Haskell's String type is actually a singly linked list of unicode 32 characters, so you'd want C to use unicode and Haskell to use ByteString (or Text).

</comment></comment></comment></comment><comment><USER6> I'm the author of ag. Sift has been mentioned to me a few times, and I finally felt the need to comment on it.

Sift is a neat tool and I hope people get a lot of use out of it. That said, I don't think the chosen benchmarks are indicative of real-world performance. For example, I just downloaded the latest Linux kernel source, built it, and ran sift and ag on it. This is on a Core i7 4770K with 32GB of RAM and an Intel 330 series SSD. Times are medians of 5 runs each. FS cache was hot.

        ggreer@lithium:~/Downloads/linux-4.3% du -sh
        12G .
        ggreer@lithium:~/Downloads/linux-4.3% time ~/code/sift/sift -n --group line_number
        ...
        ~/code/sift/sift -n --group line_number  10.03s user 1.59s system 625% cpu 1.856 total
        ggreer@lithium:~/Downloads/linux-4.3% time ag line_number
        ...
        ag line_number  0.68s user 1.03s system 459% cpu 0.371 total

0.37s vs 1.86s. You can see the output of both commands in my gist[1]. Ag obeys .gitignore/hgignore/etc by default, so it shows fewer results.[2] Since sift can't search files with greater than 2^18 characters between newlines, it prints out quite a few error messages. This typically happens with binary files and minified css/js.

You may be wondering why I added command line options to sift. They are to enable grouping and line numbers, making the output similar to ag. This may seem cosmetic, but it actually affects performance. Displaying line numbers means you have to count line numbers. That requires reading the entire matching file and adding up the newlines.

One last bit of benchmarking: If I tell ag to do an unrestricted search (meaning both ag and sift search the same files) and I tell sift to format its output like ag (meaning both count line numbers), the results are much closer. Sift takes 1.85 seconds. Ag takes 1.60 seconds. But unlike sift, ag doesn't bail on big files without newlines. It dutifully reports all the matching .o files.

Really though, sift and ag are trying to solve different problems. I designed ag to be a code searching tool. From what I can tell, sift is meant to be more of a grep replacement. Instead of worrying so much about which one is faster, use the right tool for the job.

1\. [https://gist.github.com/ggreer/96ed22bab57d1e791b9d](https://gist.github.com/ggreer/96ed22bab57d1e791b9d)

2\. I consider this a feature. The goal of ag is to find what you're looking for, not to show everything remotely related to what you're looking for. If the default search doesn't find anything, you can quickly add the "-a" option.

<comment><USER7> I love ag and use it daily. One problem I constantly run into is searching for something and getting minified JavaScript in the results which is unreadable and eats up all scrollable space in my terminal. I'd like to ignore all files with super-long lines in them, any options for this sort of problem?

<comment><USER8> Wow, I had never thought about that. I've run into issues with minified JavaScript files as well, but never really thought about how much it annoyed me.

To "ignore" super-long lines, we can just use a Unix filter:

        ag --color --group <pattern> | cut -c -100

the --color and --group force ag to not change the output just because we're piping the output to something that isn't a tty. The cut command simply clamps all lines at 100 chars; feel free to change this length.

This is pretty long, so we could write a wrapper function or something:

        agc() {
          ag --color --group $@ | cut -c -100
        }

Stick it in your zshrc and you're good to go.

<comment><USER7> Perfect, thank you.

</comment></comment></comment></comment><comment><USER9> I'm not going to jump until I see some sort of technical explanation of what Sift does that Ag is missing. It just seems implausible.

As for the additional features, I am not looking forward to memorizing more command line crap. Anyone want to write an Emacs/helm package?

<comment><USER10> Plus, typing sift is twice as long as ag.

<comment><USER11>
      alias s=sift
      alias a=ag

Now they are even.

</comment></comment></comment><comment><USER12> The "Conditions" as described on the "Samples" looks promising - looks like you can search for a pattern which is within X lines of another pattern. That's useful for finding lines used only in certain contexts. AFAIK, there's no way to do that with ag.

[https://sift-tool.org/samples](https://sift-tool.org/samples)

<comment><USER13> The samples page you cite is helpful.

The other two affordances that caught my attention on that page are (optional) multiline captures, e.g. for XML entities that might span lines, and the --replace modifier, which can transform a captured bit of text, simplifying the

      grep var= FILE | sed 's/var=\(.*\);/\1/'

usage pattern.

</comment></comment><comment><USER14> Nope definitely not as fast as ag in my tests in my source tree.

<comment><USER15> Some data would be nice so that we can see the difference.

</comment></comment><comment><USER16> I see a dash of black magic was used... I'm extremely curious what optimizations and algorithms were used for such performance gains.

 _> This takes about 1 second - sift processed 40 million records / 1 GB of data in just one second._

</comment><comment><USER17> I see everyone here using ag, does anyone know how it compares to ack-grep? I use the latter, but I tried ag and it was pretty much identical, as far as I could tell?

<comment><USER18> ag is meant to be identical. It is a lot faster.

<comment><USER17> Ah, thank you.

</comment></comment></comment><comment><USER19> Ok just tried it and it's not great for all occasions.

Ex. i have a dir with 2 million files with an avg size of about 3 kilobytes.

        ls -f /data/ | wc -l
        2183060

So I try to find a pattern:

        time find "/data/" -name "*txt" -type f -print0 | LC_ALL=C xargs -0 -P 6 -n 40 fgrep -iq "let the right one in"

        real	0m3.755s
        user	0m3.085s
        sys	        0m17.764s

Then try sift with same command:

        time find "/data/" -name "*txt" -type f -print0 | LC_ALL=C xargs -0 -P 6 -n 40 sift -iq "let the right one in

        real	 0m35.956s
        user	 0m55.170s
        sys	        3m32.120s

Or try sift by itself:

        time sift -rq --files="*txt" "let the right one in" /data/

And it is:

        real	0m9.298s
        user	0m29.620s
        sys	        0m12.371s

Sticking with grep for now.

</comment><comment><USER20> The benchmarks claim it searched 35GB of data in 0.6s. I must not be understanding what that means, because that's nearly 60 GB/second. The web page notes everything's cached, so there's no disk I/O. But isn't 60 GB/second about the bandwidth of consumer RAM?

<comment><USER21> You don't have to look at all the data, if the prefix of the search doesn't match then you can skip ahead for some search patterns.

<comment><USER22> The pattern only had a nine byte prefix, that's not a lot of skipping. And it's far less than a cache line.

<comment><USER23> And the only way to read 35GB of data at 60GB/s is to have it all in RAM in the first place. That's a lot of RAM to have.

</comment></comment></comment></comment><comment><USER24> Curious. The table on this page ([https://sift-tool.org/info](https://sift- tool.org/info)) indicates it performs even faster than ag. That blows my mind a little because ag already feels so fast.

</comment><comment><USER25> Sift was 6x slower on my first test

time sift -z ',R,' 20151104-00.gz | wc -l 210740

real 0m43.725s user 1m9.984s sys 0m10.695s

time zgrep ',R,' 20151104-00.gz | wc -l 210740

real 0m7.262s user 0m7.509s sys 0m1.395s

<comment><USER26> Did you drop caches in between tests (or alternately, did you warm up the cache for both)?

</comment></comment><comment><USER27> Monster function in the implementation [https://github.com/svent/sift/blob/master/matching.go#L28](https://github.com/svent/sift/blob/master/matching.go#L28)

<comment><USER28> not to mention intentionally ignoring errors returned by os.Open. Dear lord. Go shoves those errors in your face for a reason.

</comment></comment><comment><USER29> A nice feature is easily being able to find a match preceded and / or followed by something else within N lines. I always found that cumbersome with other tools.

Great for looking through Android code, when you want to find API call X used along with API call Y.

</comment><comment><USER30> I got a 404 on the language showdown.

</comment><comment><USER31> Off-topic but...

> No installation. just download a single file.

Is it really so hard for people to provide .rpm/.deb these days? Are man pages extinct as well?

<comment><USER32> I think most developers, mostly correctly, assume that if their software is good and properly licensed that it'll make its way into distros' repositories on their own.

Having a simple build process is more helpful to packagers than something already built since distros are just going to repackage it anyway. Also, few developers are intimately familiar with their OS's packaging standards so they're just asking for obscure incompatibilities.

Man pages though -- for the love of god we need to keep them alive. No they're not fun to write but they're perhaps the most useful tool in the Linux ecosystem. I write them for all of my projects but I assume I'm in the minority at this point.

<comment><USER33> The manpage format isn't even all that great. Their main benefit is that they are available at your fingertips in a common format at the console.

<comment><USER32> You're absolutely right, and the syntax is even worse, but the real issue is that we have a standards problem. There's incredible value in having a standard format for technical documentation which is small, concise, easily accessible to everyone, and most importantly has the same layout. If we abandon man pages then every project will ship a different incompatible documentation system which would make the Linux ecosystem overall worse off.

More and more documentation is being pushed to the web and/or the offline version is just a dump of the website. It's not _bad_ but everyone has a different interpretation of what good documentation looks like and it requires a relatively modern web browser to view, users have to relearn how it's organized, and projects take the mentality that complete documentation isn't something that should be part of a release rather than the thing that's updated every now and then.

<comment><USER33> Oh, I like man pages, and have written some for my own little projects. I wish we had more man pages for our internal tools at Google.

Gnu's `info' was supposed to be the replacement. But I seldom look at their documentation.

</comment></comment></comment></comment></comment><comment><USER34> Everyone who had a gut feeling it was written in Go gets a dollar.

</comment><comment><USER35> Only search in HTML files: sift -x html pattern

Not a Unix tool, I see.

<comment><USER33> You don't like GNU grep either, [https://stackoverflow.com/questions/221921/use-grep- exclude-...](https://stackoverflow.com/questions/221921/use-grep-exclude- include-syntax-to-not-grep-through-certain-files) ?

<comment><USER35> there is no such thing as file extension, it is just a special case of file matching pattern.

<comment><USER33> So what? If you want to follow the `do one thing well' philosophy, grep (and similar) shouldn't even support matching more than one file. That's what find and xargs are for.</comment></comment></comment></comment>


This is the shirt I wear when I interview hackers (ignore fake prices, not an ad) - <AUTHOR> http://www.cafepress.com/canreadthis.172171177

<comment><USER2> Since I haven't the slightest inkling what the numbers mean...to what does it refer?

I'm guessing I wouldn't get hired...

;)

</comment><comment><USER3> For those wondering, it says, "If you can read this, you're hired."

<comment><USER4> Well.... "If you can read this, you're hired.(Null)" You might want to pad that out with spaces or make it "you are" so people don't think your name is Null or that the Null is the starting salary. At least it's not EBCDIC.

<comment><USER5> Uh, null is used to terminate strings in C...

<comment><USER4> So your premise is that this isn't just text and the entire shirt is a string? I think I win this one. Although, if you can make a whole shirt out of just one string then I will concede the point.

</comment></comment></comment></comment><comment><USER6> Let's hope you're never hiring a secretary...

</comment><comment><USER7> That's way too much to do in my head...

Does the interviewee get to hack together a script to decode it?

<comment><USER8> It's more than that. It is a waste of time to do in your head.

I like the idea of a minimal test to have them write a "decrypt" in their language of choice to figure it out.

</comment></comment><comment><USER9> I think it says 'only savants should apply, idiots are welcome'.

</comment><comment><USER5> 4E6F7720796F752063616E2774206869726520616E796F6E652077686F207265616473206E6577732E79632C2064756D6D792100

<comment><USER10> Sure he can... we'd all qualify anyway!

</comment></comment><comment><USER11> 50 72657465 6E74696f 75732063 756E7473

<comment><AUTHOR> Actually, I have an interview story about one of the words you have in this particular text.

By the way, the shirt wasn't a requirement for the job. It was just an added way to bypass the interviews a bit if they happened to decode it easily.

</comment></comment><comment><USER12> Yes, but does it support Unicode?

</comment><comment><USER13> 457863656c6c656e742100

</comment><comment><USER14> how much is it really?</comment>


A new interview question - <AUTHOR> https://wingolog.org/archives/2017/09/05/a-new-interview-question <comment><USER2> Another stupid "great" interview idea.

You cannot put someone on the spot like this on an interview. Unless someone has given it a lot of thought, it is not possible to give you a good answer.

First we started with, you are interviewing for Software Engineer, so I can ask you anything from the whole Computer Science curriculum, and expect a MSc thesis level/quality answer.

Now we are moving to even more broader sociology level questions and expect well thought answers? Great.

I am at a point when I am literally getting up and walking away or hang up the phone when the interviewers starts asking things that they are not supposed to be asking.</comment>


The Death of Hype: What's Next for Scala - <AUTHOR> http://www.lihaoyi.com/post/TheDeathofHypeWhatsNextforScala.html <comment><USER2> Interesting that is. I once had a chat on the phone with some friends who worked at Twitter that were discussing about Scala at the train station but they briefly complained about the train skipping their station.

I jokingly suggested that they've chosen the wrong station and that the 'Scala hype-train' seemed to have actually stopped at my station since that I might have mentioned about using Kotlin instead.

Perhaps one could say that if the train is either full or if there's little to no people at the station, it will be likely to skip the station. Quite a fitting tale of Scala vs Kotlin?</comment>


Norman - World's first psychopath AI - <AUTHOR> http://norman-ai.mit.edu/ <comment><USER2> I know this has a humorous tone. However:

\- Psychopathy as a psychological trait has more to do with limited, and absence of affective empathy, and as such, are among some of the hyper- rational humans around.

\- Anti-social personality disorder is the clinical diagnoses, and it is generally calibrated to mean criminally-inclined (since it was calibrated to people within the prison population).

\- "Pro-social" are those with the psychopathy neuroarchitecture, but have developed rationale for generally getting along with society. This label is not an official, clinical diagnoses.

\- People associate death images with psychopathy, but the ink-blot tests don't really test for psychopathy. They test for the default content in the brain.

Put it this way: one of the practices some Buddhists will practice is to visualize how people are really walking corpses. A (typically male) monk will see a beautiful woman, and in order to gain a different point of view, will actively visualize her as a rotting, dying corpse. This surfaces up subconscious content relating to death and fear of death. In the Tibetan Buddhist traditions, the imagery and iconography are far more extreme.

I remember reading a Quora answer written by a pro-social psychopath, answering, "what do psychopaths think about two girls and a cup", and the response was something along the lines of a puzzled, 'why would anyone do that?'. No disgust, no judgement, no horror, no desire. I've seen similar responses around psychopath's response to people with severed limbs, mutilated body parts, and so forth. I doubt psychopaths will see much on an ink-blot test, though they might lie about it for reasons of their own.

Anyone can become pathologically fixated on death, death imagery, and combined with poor impulse control, may act upon those impulses. That can happen whether someone has a lot or a little affective empathy.

</comment><comment><USER3> Think they could have skipped the neural net and just tied the strings from the Reddit dataset to a random number generator (I mean, the whole point of Rorsach test is that stuff can't be identified _correctly_ , and the psychopath schtick means the interpretation doesn't even have to be vaguely commensurate with the shapes to fit the pattern)

Or maybe despite the apparently serious looking team that's what they actually did and that's half the joke...

Certainly utterly trivial software whose responses people find objectionable and offensive has form for doing a more convincing interpretation of a human than state of the art software that tries to be taken seriously: [http://computing.dcu.ie/~humphrys/eliza.html](http://computing.dcu.ie/~humphrys/eliza.html)

</comment><comment><USER4> Norman seems like a ad-lib thing my 13 year old niece would make while listening to My Chemical Romance.

<comment><USER5> This is exactly the impression I got. Some of the details seemed like they added that people were shot or killed to make the description more intense.

</comment></comment><comment><USER6> I'm not really getting how it was trained. It seems like they just fed it image names with randomized image contents. In that case, wouldn't this just be generating random strings to match an image as it has no meaningful image training data?

<comment><USER7> Based on [http://norman-ai.mit.edu/#inkblot](http://norman- ai.mit.edu/#inkblot)

They used the captions to from the subreddit as the tags.

So they basically assigned the titles from the WPD subreddit posts as captions to random inkblot images when training Norman.

</comment></comment><comment><USER8> Aren't all AIs psychopaths by definition? If so, isn't this aspect what makes them dangerous (to some)?

Some traits from pop science websites: unable to understand or share another person's feelings, psychopaths don't have a conscience: will observe others for input on right/wrong, lack empathy, can be intelligent, good at mimicking emotions, skilled actors, calculating, don't fear the consequences of their actions.

</comment><comment><USER9> It kind of reads like the prologue to a dystopian novel, doesn't it? If I were to write a novel about a future where a sociopathic AI runs out of control and takes over the world, this is how it would begin. ;-)

</comment><comment><USER10> It may have interesting impacts on the psychological study to help understand what caused the offset of understanding of mentally ill people. But the whole psychopath AI title is undoubtedly a buzzword.

</comment><comment><USER11> Norman's birthday was an auspicious date...</comment>


Don't Hire That Developer - <AUTHOR> http://itmanagement.earthweb.com/features/article.php/3897921/Dont-Hire-That-Developer.htm

<comment><USER2> As someone who has been working as a contractor for the past two years, the big thing I see missing from that list is 'the ability to say no'. That is my primary motivator for staying independent, I get to pick the problems I work on. That is the deciding factor when switching clients or picking up a new task with an existing client, which one of them has the most interesting problem.

The big negative that the article doesn't talk about is all the time you have to spend maintaing a social and professional network. The interesting problems aren't going to come knocking on your door.

Also, the comments about getting paid for 'all your time' are BS. Submitting invoices for 60 hours a week is a great way to find yourself out of a contract real quick. That extra billing is reserved for things like crunch in the last few weeks of the project or when someone explicitly asks you to take on extra work. Invoices over 40 hours maybe cool with the manager, but they send up red flags in accounting and suddenly everyone is wondering why they are paying you for 60 hours a week when they could hire 2 or 3 full time employees.

<comment><USER3> I suppose you could split those 60 hours between 3 projects making it 20 hours a piece which won't be as tragic for accounting.

<comment><USER4> Or just do 40 hours of work every week. If you cut out some of the time- wasting employees have to endure you might be able to get the work done in that amount of time anyway.

<comment><USER5> surely you have your own additional "timewasting" when it comes to looking for opportunities, convincing employers you actually have the skills to do the job, dealing with corporate departments who think you should be filling in the same paperwork as the regular employees do at the start of their employment for each individual project (the only part you might actually be able to say no to...) and managing your own accounts.

<comment><USER6> You don't bill for that stuff, though.

</comment></comment></comment></comment></comment><comment><USER7> The OP claims that employers don't value the institutional knowledge that is built up by employeees. I can refute this from my direct experience, which, as I understand, is not atypical for a developer working at a startup.

I worked for five years for MetaCarta, which sold geographic search technology, primarily to government agencies and oil companies. In April we were aquired by Nokia, which runs its own search engine (<http://maps.ovi.com/>) and wants to improve its local search capabilities. Nokia hired all of the MetaCarta engineers, offering us retention bonuses. In July, Nokia sold the government-and-oil end of MetaCarta's business to Qbase, a company in Ohio that I had never heard of before, licensing the technology to Qbase and keeping the engineers.

If Nokia had considered the institutional knowledge of MetaCarta's engineering staff to be worthless, they would have just bought the IP and not given the engineers any particular incentive to stay on.

<comment><USER8> Some companies do, some don't. Glad you were in a camp that does. I've known people who were at companies which didn't value that knowledge and would just cut cut cut.

<comment><USER9> I worked for one, but rather than constantly cutting, they have high turnover and rely on golden handcuffs to keep people -- that they treat like slaves. Their average turnover was 18 months, though in the seniors it was more like a year (long enough to not have to pay back the signing bonus and relocation if applicable).

And the management didn't seem to care; they would just hire more interns... who they treated better than the seniors anyway.

And honestly, the work sucked. It was almost entirely a crapware maintenance job, no engineering, and a staunch resistance to changing anything at all, even the clumsy, buggy, and inefficient Perl-based "solution" that the company relied on for around 70% of its catalog data.

</comment></comment></comment><comment><USER10> Do not get distracted by the 2X+ times money he makes. Everyone has made the point: no 401k, no health insurance.

What everyone seems to forget is you also have to pay a 15% self-employment tax at the end of the year out of your pocket because you do not have a W-2. The tax liability is higher as well.

So not only do you have to get independent insurance (which is very expensive), you have no 401k or match and probably have to manage your own Roth, you have increased tax liability and pretty much no control to push back.

Now, I'm not saying you should be an employee vs. contractor - there's benefits and downsides to both. But saying that a contractor makes even 90k when an employee makes 45k isn't really saying much.

<comment><USER11> Good points for anyone if they're weighing the fulltime gig vs. contracting vs. consulting. However

1\. The "Self Employment Tax" (in other words, FICA and Medicare) is closer to 7.5% extra for the self-employed. When you're an employee you pay 7.5% of this, and your employer matches that. When you're self employed you pay the entire thing.

2\. The FICA and medicare tax can be avoided if you're contracting through a third party agency (and being paid W2 via that agency). This has its own set of tradeoffs and rewards, but is another option worth considering.

3\. Remember that the 401k match has to vest, meaning that 4% match is closer to 1.6% if you hold the job for only two years. (on the flip side, that 1.6% is pre-tax)

The matching can also be a temporary benefit if your smaller company gets bought out by a larger one.

4\. Paying your own health insurance is a burden, but it's a burden with a fixed monthly cost. It's worth investigating self-insurance options and doing a straight up dollars to dollars comparison.

Consulting and contracting aren't for everyone, but if there's parts of full- time employment that frustrate you it's definitely a route worth considering.

<comment><USER12> About 1 - This is why you pay yourself 40k and take the rest as profit distributions. As long as your salary stays above 25% of total income you're fine.

</comment></comment></comment><comment><USER13> Speaking as someone who is currently a contractor dealing with arcane legacy code without documentation (as is usually the case in my experience), institutional knowledge matters.

<comment><USER14> To you or to management?

<comment><USER15> Both. First, Your job is harder if you have to turn over every rock in a company looking for an answer, only to find the only people who had the answer left last year.

Second, management's job is harder because no one ever has the answer. They are constantly stuck training every employee on the most basic historical project knowledge. I would wager that most projects are enhancement projects - moving from one version of something to another and not replacement projects. In enhancement projects historical knowledge is vital, in replacement projects it isn't.

There are more than these two reasons - bottom line, it's important all around.

</comment></comment></comment><comment><USER16> _After all, I got an invitation to the company holiday party while Sam stayed home counting his stack of contracting money._

Keep the holiday party, give me my check---I have a family to take out to a nice holiday vacation.

</comment><comment><USER17> I am not sure why this is not self-evident.

Practical Definitions: An Employee is part of the liability on a company's balance-sheet, its a cost to be pruned when the going gets tough. IN any large company worth its name he is just a number on the wrong side of the Balance Sheet, how good/loyal he is almost completely irrelevant.

A Contractor is a resource and his cost comes from the Project's budget. A manager's position is strengthened by managing ever larger(read costlier) projects , it is in the manager's interest to have more resources(read contractors). End Definitions.

Contractors by their very nature have no say in the corporate political power game thereby not threatening a manager's position. If something doesn't work out and its time for a scape-goat , contractors can very easily be dismissed , letting go of an employee is a much more onerous task.Given a choice a Manager will almost always opt for a contractor and to top it all of Contractors earn more cash.

Why would one want to be an employee in any large corporate entity ?

<comment><USER18> "Given a choice a Manager will almost always opt for a contractor and to top it all of Contractors earn more cash."

This hasn't been my experience at real-world medium-size companies around here. I have friends in several, but almost everyone's IT department has a VP or director that has a policy of "absolutely no contractors", so I can't get a foot in the door at any of these places. If they want something done, they _only_ do it internally. They will buy outside products, but they will not outsource development work.

The other medium-big companies in the area have contracts with big groups like RHT or EDS, which is really frustrating and annoying.

<comment><USER19> Well, the reasoning behind this is obvious. What is the value of a high tech company? It's not "the brand", it's not that it owns a pile of servers in a datacentre somewhere, it's not even in the code in its version control. It's that it is a group of people able to identify and solve new and commercially relevant problems, and that that group possesses a great deal of institutional knowledge. A contractor has self-consciously decided to discount that kind of knowledge; therefore what they can contribute in such an environment is only what could be automated anyway.

</comment></comment></comment><comment><USER20> > If management builds a network of contractors, who are the best in the > business, you bring on these true professionals who have one purpose – to > get the job done. They will do it well because they want more work and a > good reference.

Not necessarily true. A contractor's incentive is to work as much as possible, and often she can find ways to increase the amount of work necessary.

An extreme example is that of Oracle consultants; I know several tales of the one Oracle consultant being the foot in the door to a whole team of Oracle consultants who get management's ear and tell them what they need.

I'm not saying all consultants do this; clearly not. However, the article makes it seem as if contractors' incentives are more closely aligned to the company's than they are.

<comment><USER21> Speaking as Oracle consultant, very often you have no clue how much work is going to be there until you are there. We are very lucky if management actually listens to what you need. Which is often very simple things such as fix reoccuring errors, upgrade components that keep crashing, put decent monitoring in place, make sure the backup strategy makes sense and test the backups.

I've been in situations where I was contracted for 30 hours to "just help us deploy X", discovered what the database looks like and have been able to upgrade my contract to 300 hours of upgrades, monitors, automation, backup verifications, etc.

I can see how this looks like a contractor trying to create lots of work, but all this work did have good reasons behind it.

I have to sell my rationale for extra work to the customer and it is not always trivial. Often it is easier to say "well, its your data, its not like its my problem that your backups are untested", but I wouldn't be in this business if I didn't care about data being safe.

I completely agree that contractors are more focused than employees on getting the job done well.

Once I've overheard two developers talk about me: "Well, of course Gwen is always cheerful and always happily does what we ask, she's a contractor - thats how they do their marketing.". I'm proud of cheerfully and competently doing my job. I'm always wondering why many full-time DBAs act like they are doing you a favor when they create indexes, clone production to development and generally do what they were hired to do.

</comment></comment><comment><USER22> "but once you get let go as an employee it's harder to find your next job because you aren't always in that job-seeking mode like a contractor is"

From an employee's point of view, the solution is simple. Always be in that job-seeking mode.

<comment><USER23> This is much more of a problem. You can't switch jobs every few months and expect people to continue hiring you. Contractor can and usually does take on new projects all the time. So as a contractor when I hear 'Can you do X for us', the answer is usually yes, if it comes within our expertise area, but as an employee, especially freshly hired, you can't respond to every job interview request unless you really really intend to leave.

<comment><USER22> It really depends on the job you're leaving and the job you're going to. I often respond to interview requests, though I basically start the conversation with "I'm not really looking, but I don't mind talking to you." I'm not really an entry level employee, though.

</comment></comment></comment><comment><USER15> He got paid more and he has more expenses. No health coverage - he'll be lucky to find a group policy with an organization or professional association. No matching 401K, no tuition reimbursement, and on and on. It's not a valid comparison. Line up the employee's benefits and income against the contractor's expenses and income and then see where you come out.

Then realize you've only looked at one piece of the equation and you can start weighing the pros and cons of continued employment, opportunities for career advancement, etc.

<comment><USER24> He said he was getting paid more than twice the amount his fried was. Are you saying that your benefits equal your salary? Highly doubtful unless your salary is artificially low (I assume you're a developer-type). Benefits aren't that high for contractors, usually it's just the healthcare that gets you. But even if you pay a non-group, family rate, it's only 15-20K a year which is chump change if you're charging $100+ an hour. Then you get into tax deductions that you just don't get as a full time employee.

<comment><USER8> 20k per year? Wow. Even the most expensive family plans I've seen for family with pre-existing conditions was around $1100/month - $13k. I feel like I'm getting ripped off and we only pay around $300/month!

</comment></comment></comment><comment><USER25> Fictional conversations in which one person picks apart another's argument are a farcical way to present a point. It's a way for a writer to avoid having to let an argument stand on its merits - we as humans are not particularly good at divorcing an argument from the arguer.

Time after time, this author presents one character as surprised and incredulous, and the other as collected and confident. While it's a great way to convince people of something, it's underhanded and rude.

I don't appreciate being subjected to this crap.

</comment><comment><USER26> I'm surprised no one has said this: this is illegal in most of the US (definitely in CA). Contractors cannot do the same job as employees. It is skirting the labor by doing this, and circumventing employment taxes.

In the economic hard times, many states (WA, CA, MA) are going after companies that do this. Yes, auditing and fines.

You might think they won't find you. Well, here's how they will: contractor Joe has been working for you for 3 years. You decide you don't want him anymore (for a variety of reasons). He files for unemployment, even though he's not supposed to. He figures, hey, I'm an employee so I deserve it. In CA, the EDD will use this red flag to audit, likely find that Joe was an employee, fine the company _and_ give Joe his unemployment insurance.

I'm not passing judgement here, just stating the facts.

<comment><USER27> It's obviously not illegal to hire contractors to work on a specific projects.

The scheme you're suggesting where an employer hires people and calls them "independent contractors" to dodge taxes is not at all what's being discussed in the article.

</comment></comment><comment><USER28> Let me turn that around: What is a better course for an employer, say an internet startup or a small software / webdesign company? To hire contractors or employees?

My first thought would since software/web is the core activity, employ them (bind them closer).

What do you think?

<comment><USER29> Binding a 120k software developer to a desk is expensive when you only need them for a few months out of the year. The rest of the time a 50k developer would do just fine.

</comment></comment><comment><USER6> Looks like a rehash of "The Nature of the Firm"

<http://en.wikipedia.org/wiki/The_Nature_of_the_Firm>

That's the theory underlying the differences between the two.

</comment><comment><USER14> There have been times where my longer term contractings jobs were normal jobs, except I had to pay for my own benefits. I think the government now frowns upon this practice though.

<comment><USER30> Indeed. I was a contractor for the last year or so. Now I am an associate at the same company. I sit at the same desk and do the same work. Except now my salary is higher, I get a month of vacation, I get 401(k) matching, I get vision/medical/dental insurance, and so on. And I still don't wake up for the "rah rah" meetings :)

I worked with people exactly like the contractor in the article. This kind of person cares only about one thing; money. The project? Secondary. Coming to work regularly? Secondary. Finding every last tax deduction? Critical.

(I take it as a compliment that someone I work with told me, "wow, you're a contractor? I had no idea".)

<comment><USER31> Sounds like you weren't ever actually a contractor.

There are two types of position that employers describe as "Contractor". The first is the type described in the article, where you bring in a guy for a short term and pay him roughly double what you'd pay a regular dev. The second type is where you bring in a guy, pay him the equivilent of a regular dev salary, but as an hourly rate, and don't give him any benefits.

This second type has a more common name: "Being taken advangage of."

Sounds like that's the type of "contracting" you were doing. Congrats on getting out of it.

</comment></comment></comment><comment><USER32> One of the issues I had as a contractor was amount of energy I spent chasing invoices. Not being paid on time (or at all) was a big headache for me. I know this is less of a concern for gov't contracts but some of the mid-size corps would place me last on the totem pole when prioritizing their vendors, knowing I was a 1 man shop.</comment>


Feeding People with Science: Soon the World Will Require Twice as Much Food - <AUTHOR> https://www.spiegel.de/international/europe/feeding-people-with-science-soon-the-world-will-require-twice-as-much-food-a-1276556.html <comment><USER2> Interesting that the one thing not mentioned is the amount of food produced that goes to waste now. Right now we produce enough food for everyone to have enough; the real issue is money and distribution. If we will need more food in the future, distributing what we produce more efficiently should be part of the plan.</comment>


FaceBook user number 4 is number 1 - <AUTHOR> http://graph.facebook.com/4

<comment><USER2> ... Yes, this was just covered on the front page here. <http://news.ycombinator.com/item?id=5350675></comment>


Railslike PHP Framework: Code Igniter - <AUTHOR> http://codeigniter.com/

<comment><USER2> I've used CI on several projects. I've also used Rails. Here's my take on CI.

The good stuff:

* GREAT documentation * Code was designed around performance, and it is pretty darn quick. * PHP4 based. (This, btw, is only a plus for a tiny few people. There's no need to be on PHP4 any more.)

The bad:

* The "model" layer is not really an ORM at all. It's just a slightly fancy way of wrapping SQL statements. This is better than no separation of concerns, but it's not really an object oriented way of accessing the model layer. * It misses out on all the great things that are going on with PHP5. * It's open source but privately developed. The pace of evolution is glacially slow, and decisions about the direction of the framework are made closed doors.

To me, CI is a HUGE advance over throwing code together in php files, but it doesn't really have enough abstractions to qualify as a true MVC framework.

If you do decide you like CI, check out kohana php. This is an open source, community developed fork of CI -- that's built for PHP5.

For what it's worth, I'm far happier coding in Rails (and the little bit of django I've tried), and would probably recommend those if you're not afraid of abandoning php.

</comment><comment><USER3> <http://coordinatr.com> is built on CodeIgniter. CI has some of the best documentation of any Framework and it's super fast compared to others like CakePHP and Symphony. Of course, it's still PHP so there are some limitations, but overall it's been great.

I don't really like the Rails comparison that people make. It's PHP and it's significantly less "magical" than rails.

<comment><AUTHOR> but Rails made MVC extremely popular, and the directory structure and admin function names are very similar (at least from a non rails user like my self)

<comment><USER3> Very true. The problem I have with calling it a rails clone is that people expect things like scaffolding, ORM, and auto code creation. CI has scaffolding, but it's only for admin use, not production, and while there are libraries that can do the ORM and code creation, they aren't as well integrated as Rails. Still it's lightweight and fast which is why I use it.

<comment><AUTHOR> i think the differences are more based on the "base" install rights of ruby, vs, the base install rights of php.

many php servers do not have the option to run a cron job, and i think ruby can hold a state, where php runs the script for each request.

<comment><USER3> Are you talking about shared hosting packages? I think judging a language or framework based on the shared hosting packages available is probably one of the less effective arguments...

</comment></comment></comment></comment></comment><comment><AUTHOR> I found this from 4braham in Madison, WI. the framework videos make it look exactly like rails, but in PHP. i think its pretty neat, but if i was going to use it i would still have to abstract a custom MODEL for it, because we are using S3 as our data store. I might code my datastore towards their model if this becomes a popular framework.

what do other YC'ers think about Code Igniter?

<comment><USER4> Frankly I love it. Compared to other PHP frameworks I've used I think CI's way of doing things is pretty straight forward (but I suspect that Symfony comes close). Although I some qualms on how it uses validations, how CI's model implementation is different from Rails(personally it's not as magical as Rails implementation but I dig CI's more).

So I decided to tinker with the framework and fork my own implementation.

My framework is now built on top of CI and is able to use functional programming idioms such as anonymous functions and the like. Pretty awesome stuff.

<comment><USER5> Functional programming in PHP? How? And, is it efficient? I know PHP has a callback mechanism, but am more curious about the anonymous functions claim...

<comment><USER4> Well basically I found this old library in PHP created by Ian B,Kos. His library allows certain functional programming idioms using PHP. What I basically did was fix the library up in order for my version of CI to utilize the library.

Is it efficient? well according to the original author you take a minor hit it performance (as of yet he has not provided any solid numbers) in exchange for programmer happiness.

The implementation of anonymous functions is quite clever. Please consider this library was created 4 years ago and has remained stagnant up until now. To put it shortly he uses a eval based approach in order for use of anonymous functions.

<comment><USER5> Care to share? Or at least point me to the original library? I had found a few things <http://ioreader.com/2007/05/03/php-closures/> and <http://www.steike.com/code/php-closures/> a while ago...

<comment><USER4> well I tried going to the original site and unfortunately it seems to be down. Tell you what maybe we can connect via email or chat or something. I can hand you the original source code of the library. Be aware though it's not the most elegantly documented piece of code. But it's commented heavily and you can learn a great deal of how PHP works and how the author worked around it's limitations.

<comment><USER5> My email address is in my profile, which I believe pg said at one point users can see if they are logged in. If not, let me know. Edit: The sample of 5 i checked didn't show an email address... It's my username here at google's service.

<comment><USER4> Did you get my email yet? I'm not sure if the email address that's on your site is the right one.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> just started reading up on it. Glad to see people building on it. btw, @jdavid if you find/build a model + plugin that works with s3 easily, that would be awesome. I think you might just have to mod their file upload mod btw.

<comment><AUTHOR> Right now i have customers that want to pay me, but i don't have a back end. I would love to just get something done now in prototype, so i can build a real nice MVC later on.

in the "RAILS MVC" pattern i have only tutorial experience and now the code ignite tutorial behind me. I come from a C# world, so a lot of this is still new to me. We decided to move from C# because php5.2 is so awesome, and mono was becoming a scary rabbit hole. Code Igniter is an exciting idea.

I am curious what the best way is to extend a model in CI. it looks like a few days work just to think about it. i think if we bring in 4braham in Madison, WI we might be able to build a decent set of classes though. ThruDB also launched today for ubuntu, so i would like to build in the hooks for thrudb and memcache on s3 objects so that it is built for scalability and simplicity.

</comment></comment><comment><USER7> That's a PHP4 framework. It's a bad idea to use PHP4, because 5 has so many useful new things, performance improvements, SPL, etc. In the OO area, PHP5 is practically a new language.

<comment><USER8> Are you looking for a PHP5 version? Here's a fork:

<http://kohanaphp.com/>

Haven't tried it yet.

</comment></comment><comment><USER9> The Rails imitators always seem to be like Elvis impersonators: some are better than others, but none are ever quite as good as the original.

<comment><USER4> True but I think CI is evolving to be something else aside from being just another PHP rails clone. (Well that's what I'm trying to attempt with my forked version)</comment></comment>


How can I become a very good programmer? - <AUTHOR> http://brianknapp.me/become-a-very-good-programmer/ <comment><USER2> Start by being a young, excellent programmer. Become older, slower yet don't update your skills. Voila, you're now only a "very good" programmer.

This isn't satirical. There's a reason many companies favor the young. People are expendable.

</comment><comment><USER3> [https://www.norvig.com/21-days.html](https://www.norvig.com/21-days.html)</comment>


What VCs Are Looking For In The Next Great Social Network - <AUTHOR> http://techcrunch.com/2012/10/21/post-facebook-ipo-what-vcs-are-looking-for-in-the-next-great-social-network/?icid=trending3&grcc2=b8ced10b3825c98ed9ad5129fff06a65~1350854050194~fca4fa8af1286d8a77f26033fdeed202~e6eef04ed189e004e849873e9d4b0853~1350854050192~98~0~0~0~1~0~0~0~9~6~6~14~-1~-8847105381394134734~~

<comment><USER2> I think a certain cynicism has developed/is developing in social network users. Certainly almost a great deal of my peers have come to a state where they generally loathe facebook and merely tolerate G+. In fact, it seems that the only market segments where facebook is still wildly popular are the 50-somethings who are enthusiastically posting stuff the rest of us saw months ago on reddit or pinterest.

IMHO the next "great social network" will be hard pressed to shake the feel of corporatism, because users are slowly coming around to the idea that they are the products being sold to advertisers.

Any new mobile-first social network will have to be platform-agnostic and maintain (the illusion of having) grassroots status.

</comment><comment><USER3> "In searching for the next generation of successful social companies, VCs will look for not only growth, but engagement, mobile success and strong intent."

It will be interesting to see if/how more companies focus on mobile first, while at the same time not undermining the desktop experience.

-AC

</comment><comment><AUTHOR> I guess things will be clear once the social bubble bursts and dust settles.</comment>


VIP Treatment - <AUTHOR> http://redeye.firstround.com/2006/03/vip_treatment.html <comment><USER2> Sounds exactly like what I would expect from a VC and exactly the opposite of what someone like Larry Page would do. I think my energy is better spent fixing valid critiques and requesting a follow-up review once you have.

Better to build something that can stand up to the harshest of reviews than run around spraying perfume on dung.

</comment><comment><USER3> Pretty funny anecdote, even if having a relative purchase the item is a bit on the sketchy side. But I definitely understand having to show your business at its best in crucial situations.

I wonder how one would analogize this to a social network-based website where an influential blogger might be visiting to review. Would one populate the place with a buzzing community? Script certain features to respond flawless to expected invocations? It's much more manufactured (and wrong) in this case.

</comment><comment><USER4> Why not just make your service good to every user instead of focusing on those people you think you need to impress? I think that every user should have the same great experience and not just a handful of hand-picked consumers. If you have a good product I think that'll show through regardless. It seems like if you feel that you need to do this that you probably find huge weaknesses in your product.

<comment><USER5> I agree in the sense that you don't want to try to upgrade a lousy experience for the benefit of a few VIPs visiting the site by putting manual effort into it (I think artifically speeding up the sale of their items is borderline in this camp). But I don't think you'll ever get around the fact that sometimes shit just happens when you least want it to, so there's absolutely nothing wrong with ensuring that VIPs are getting the high quality of service that you designed for your customers by manually reviewing their experience. Using the same system that you're using to manually review a random sample of customers to make sure they're getting the full experience.

Kind of like taking extra care when you've got a few grand in your wallet, but you wouldn't be careless with it when you're broke.</comment></comment>


The 2014 Panic Report - <AUTHOR> http://www.panic.com/blog/the-2014-panic-report/ <comment><USER2> I wince a little when I read the section titled "Low iOS revenue." The iOS App Store's race to the bottom on pricing (and the parallel problem in Androidville) are very hard on developers. Panic reports that their unit sales are nearly even on iOS and OS X - but that the _revenue_ is on the far side of an 80-20 split, that they make more than four times the revenue from a desktop sale than from an iOS sale! Even if you assume, very generously, that an iOS app can use a smaller project scope and only take half the investment of company time, that's still a heavily skewed ratio. It's a bad situation for developers that can't absorb losses or make their money via IAP (and I'm not sure how long the IAP route will be around, considering the _utterly vile_ marketing practices some entities are using to juice up IAP revenue).

The problem is that this is not that Apple, Google, or consumers are _doing_ something to development houses. It's an emergent feature of the market and the incentives, so there's no simple way to make it _reliably_ financially viable to develop for mobile (subscriptions and IAP are not simple and don't fit all business models).

I hope Panic can afford to stay in the business of writing iOS apps. Their apps are great. But the money those apps are making them, isn't great.

<comment><USER3> Indeed. Increasingly I'm viewing iOS apps as value-add only, that is to say apps attached to a given service or other offering, designed to augment such a service.

I am sure people will cite a zillion examples of businesses that make their living from iOS apps, but increasingly this appears more like winning the lotto, akin to 'making it' in Hollywood, than as a viable business model for all comers.

The reliable way to make a living as an iOS developer is to develop for a bigger company that needs an app as a side-show.

<comment><USER4> We are a no-debt, always-profitable iOS/Android game company with 6 employees that runs in a bit in constant fear. Our games are "free to play", ad- supported, and have IAP only to remove ads.

We have nearly 7000 daily downloads, something like a 15% 30-day retention rate that absolutely blows the doors off of our competition, and _still_ make very little of our revenue off of that IAP. Even some of our longest players continue to look at ads, because $1.99 seems too steep to them. The best business advice (and scummiest feeling advice) we get is that we're not milking our "whales" properly.

We survive, basically, because of volume - to make it in our business you have to have at _least_ 50,000 daily users. And that's a minimum.

We'll continue to make games as long as we're profitable and can pay employees, but the 30% to Apple/Google, the incredibly low "ARPU" (avg revenue per user) and high costs of doing business have us constantly looking to where we might be able to leverage some of the tech we've built in other markets.

</comment></comment></comment><comment><USER5> Perhaps the most interesting part for developers currently targeting or considering targeting Apple's App store:

"We had a very long, very torturous situation with Status Board almost being pulled that we've never written up out of sensitivity to our relationship with Apple. I only mention it here because it proves that it is possible to fix these awkward rejection situations without Apple suffering negative PR in the public eye — we did that 'offline'. But it took an absolutely massive amount of mental energy and time to work through — positively Sisyphean. I would never want to do it again — I've run out of patience, I guess. I can say for certain that the 'bad PR' version of the app dispute process is monumentally more effective. Which is a shame."

Apple's process is a favorite punching bag, of course, and for good reasons.

But I find it so common that 'bad PR' disputes that gain traction (or from parties who can easily command an audience) are more effective that I'm honestly have trouble thinking of exceptions to contrast Apple with.

Anyone know of some?

If not, what does this say about the limits of businesses to address systemic problems?

<comment><USER6> I have seen some bloggers theorize that these problems are bubbling up more in recent months because of some kind of internal conflict within Apple. It does seem rather schizophrenic, with one team releasing a bunch of features in iOS and the SDK, only to have the App Store team disallow the features' use.

</comment></comment><comment><USER7> Obviously "Panic" is a well-known company for developing IOs applications and for at least 145 people on HN this is common knowledge.

Is there anything special about this company?

EDIT: Although the people downvoting (currently -1) this won't read this edit anymore, the question was (and is) meant serious.

<comment><USER8> Panic is actually more well known as a company that makes Mac apps. Many would call them the preeminent developers for the Mac platform (along with Omni). So think of it like this...

A hugely popular (for its market), established, independent, and profitable software company gives clear and transparent insight into how the past year has gone for them and their products.

</comment></comment><comment><USER9> Amazing transparency! Imagine if the whole industry behaved this way, we'd all be better for it.

Maybe a minor point to some here, but I'd love to know more about the QA process changes they're hinting at.

</comment><comment><USER10> Really great apps and bar is being kept high which is always great for the s/w industry. If I could achieve just 1% of what Panic has I'd be proud.

</comment><comment><USER11> I hope this is the year Panic upgrades Transmit to have a retry button for failed uploads - it's especially painful that entire syncs and batch uploads have to stop or be accepted as incomplete if a single file fails.

</comment><comment><USER12> USA-based company releases a closed-source SSH client and remote file manager. Sorry, i'll pass.

<comment><USER13> But look at how pretty they are.</comment></comment>


Review my app please - <AUTHOR> http://www.seotomata.com/ It's a public holiday (Labour day) and I built this quickly. Please try it out, tell me what's wrong with it, and I'll iterate.<p>Thanks! <comment><USER2> It seems like HN echo chamber response to me. People are never going to tell you a potential solution works or doesn't. HNers will give you high level, and if the app is done will often go through it and nit-pick, but they are NOT anywhere close to paying customers for a vast majority of people (as valuable as their advice is).

As for the regular users (the ones who would be your clients' potential customers on the site), quite frankly they don't have the ability to extrapolate from a picture or even an alpha version if the product will serve their needs.

This seems a lot like feedback army at best.

What I would like to see instead: Feedback army has the informal aspect of this market tackled pretty well. I'd like to see something a little closer to focus groups. My major issue with feedback army was that of the 25 reviews I got I think all but 2 were "yes this is good, yes I would use it, yes this was easy to use" - they have no stake in the project and often times seemed to be trying to tell me what I wanted to hear. Of the 95% or so who would "definitely" use the site, not a single one continued (no shock, but makes me question the validity of their responses).

What I would like to see is a way to pick 15-30 people as "evangelist testers" or something, people who you would perhaps pay, or would be offered some other kind of incentive to really think about the problem they are trying to solve and how your app fits into it. This would give those 15-30 people a real way to be involved in the app's creation process, and the app creator much more high quality feedback. But the focus has to be on quality not quantity IMO. I would be willing to pay a monthly fee for that.

</comment><comment><AUTHOR> The use case I'm thinking of is when you want a low-profile way to survey potential users, perhaps through ads on facebook, or linked in.

Have a play with it. Here's a url to set up your own survey:

<http://www.seotomata.com/beta.php>

If this doesn't really help you with your startup, tell me what would, and I'll pivot.

By the way, since all the comments are coming from HNers, it's only fair to share their comments here:

<http://www.seotomata.com/response.php?code=ab3kc>

<comment><USER3> The problem for me was that the example you gave (yourself) was way too meta for the typical end user. It needs to be more obvious what the problem is. For this reason "Does this solve your problem?" is a horrible opener.

Here's the process: (1) State the problem, (2) Propose your solution, then (3) ask for feedback.

Overall: Don't make me think. You're never going to get replies otherwise. A big textbox is daunting.

I imagine this almost as a streamlined "proposal" process. Lets say you get an RFP from Widgetia, a company that creates and sells widgets. You get the RFP (problem), then you write a proposal (comprehensive or not) to address the the problem. Because this is on the web, you can use text, photos, video, whatever. Just communicate the solution as efficiently as possible.

Then your job is to ask people to identify. "Does this sound like you?" "Would this work for you?" Don't put just one textbox. Put a couple -- in strategic spots in your presentation. You'll gather better contextual feedback as well as gather analytics on when/where people are commenting to gauge how effective your presentation was.

HTH. Good luck.

</comment></comment><comment><USER4> Why would I use your app instead of Hacker News?

<comment><USER5> Yea that is a good question.

One answer: The built-in structure (the questions). I would make it so that there are 3 pre-built questions, with the option of adding more, but that all apps use those 3 questions. Or 3 questions and an open comment field. And then make it easier to answer them, and to go from product idea to the next product idea (so I can give feedback on 5 products in a minute).

But the main answer will be if you get some traction, ie. launch with a bunch of apps in there (email people who are building apps) and a bunch of people ready to review. I think that should be possible, loads of people love to opine on startup ideas.

</comment></comment><comment><USER6> If I can create an app, I can create a simple landing page to gauge users feedback on a video or screenshots.

The question is, how many non-technical people are creating online businesses AND would _need_ a service to help test their idea?

Also, isn't this a similar problem KISSMetrics is trying to tackle?

<comment><AUTHOR> I stumbled across this years ago: <http://askdatabase.com/>

But I wanted to focus this specifically on answering Steve Blank's questions in the "4 steps to Epiphany"

Update: Regarding KISSMetrics, I've been paying attention to Hiten's startup. They started off with tracking David McClure's conversion funnel, I thought I'd tackle it from the other end, using Steve Blank's customer development questions.

One thing I've learnt is that a rough mockup is not going to do to solicit good quality feedback. I'm going sleep on this and try something different.

</comment></comment><comment><USER7> Where's the app?

</comment><comment><USER8> I like the idea but I already know about wufoo.com and askyourtargetmarket.com so you'd have to beat them somehow in order to be interesting to me.</comment>


Show HN: Olaf – Acoustic Fingerprinting on the ESP32 and in the Browser - joren- https://0110.be/posts/Olaf_-_Acoustic_fingerprinting_on_the_ESP32_and_in_the_Browser <comment><AUTHOR> ESP32 is a source of infinite frivolity. My latest project does exactly nothing, except when certain door is opened. Then it logs into Wifi and continues to do nothing. Except now my desktop computer can ping that address and inform me the bloody door is open.

<comment><USER2> What's funny is that it's still probably cheaper to do it this way than with wireless reed switches, which often cost more but are much simpler??

<comment><USER3> Maybe for other people, not for me.

My free time is very expensive.

An ESP32 costs nothing compared to the cost of my free time, and comes with wifi and bluetooth, which makes many things simpler.

Other solutions whose hardware costs less than an ESP32 cost me a lot of time, and end up being infinitely more expensive than the ESP32 approach.

</comment></comment></comment><comment><USER4> I see a very zealous and illegal, albeit useful application: I could hide an ESP32 with a relay inside of a circuit breaker and install it in my neighbor's breaker box, cutting their power every time they start blasting obnoxious disco music at 3 AM.

<comment><USER5> You'd probably make a lot of money if you had something that could tell what music is obnoxious (and what is not)

<comment><USER6> All music is at 3AM. We're halfway there!

<comment><USER7> Wo-ah! Livin' on a prayer!

</comment></comment></comment></comment><comment><USER8> I'm constantly impressed by the ESP32 and have dabbled in a few project ideas.

You could even use them to talk to other ESP32 devices (in other dresses!) using WiFi/UDP, Bluetooth LE or Espressif's own 'ESP-Now' mesh networking (which recently blew my mind).

I've done a few RGB LED Matrix based ESP32 projects now. This project has given me a few ideas.

Thanks!

</comment><comment><USER9> He should get in touch with Disney's merchandising department and send them a prototype. Nothing would stop them from just copying the idea without compensation, but doesn't seem like much downside to trying since he made it for fun for his daughter.

<comment><USER10> being Disney, they would sue him, regardless what

<comment><USER11> Yeah, Disney sued my Dad, a small jewelry store owner, for having a charm, which he purchased from a supplier, that looked too much like Bambi. It was just a little silver deer charm he bought from a wholesale supplier. They sent someone to his store, and sued him over one charm.

</comment></comment></comment><comment><USER12> I am so happy for your daughter. Such great memories she will have of her father. Thanks for sharing, this gave me an idea...

</comment><comment><USER13> How well would this work towards voice activated things, i.e. "Hey Olaf, make it rain?" which turns the sprinklers on.

<comment> joren- These type of algorithms are only able to match audio when the audio was added to an index beforehand. So it only capable to match pre-recorded audio. A live rendition of a text or song would not work since it would not match the index.

<comment><USER14> That would be the domain of mycroft.ai

</comment></comment></comment><comment><USER15> What is the demo supposed to do when it positively recognizes the song?

</comment><comment><USER16> Definitely didn't just sing Let It Go :) Awesome stuff!

<comment><USER17> Have you definitely not just sung it in ancient greek yet?

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

</comment></comment><comment><USER18> Very cool! What's the license for Olaf?

<comment><USER19> Don't forget about patents, from their README:

> Please be aware of the patents US7627477 B2 and US6990453 and perhaps > others. They describe techniques used in algorithms implemented within Olaf. > These patents limit the use of Olaf under various conditions and for several > regions. Please make sure to consult your intellectual property rights > specialist if you are in doubt about these restrictions. If these > restrictions apply, please respect the patent holders rights. The main aim > of Olaf is to serve as a learning platform on efficient (embedded) acoustic > fingerprinting algorithms.

</comment></comment><comment><USER20> Very cool project, thanks for sharing.

</comment><comment><USER21> Amazing</comment>


Running Amiga-like OSes on QEMU - <AUTHOR> http://zero.eik.bme.hu/~balaton/qemu/amiga/ <comment><USER2> I recently learned that the FS-UAE (which is a macOS/Linux port of the WinUAE) supports Amiga PPC emulation using the QEMU plugin. I've spent this weekend installing Amiga OS 4.1 on something that was my dream machine two decades ago (but emulated): A4000 060/PPC 604e with 128 MB.

Works great! I love installing classic OSes :)

[https://imgur.com/a/z7T8Z53](https://imgur.com/a/z7T8Z53)

</comment><comment><USER3> Is anyone using one of these OSes for "real" work. By that I mean, something key to their livelihood. I'm just curious, not trying to say that hobby OSes are in anyway a derogatory thing.

<comment><USER4> There is a remarkably active Amiga fan scene that continues to use these OSes for "real" and develop new applications and games. Frankly, it's amazing; random examples: [https://amitopia.com/muimapparium-0-7-for- amigaos/](https://amitopia.com/muimapparium-0-7-for-amigaos/) , [https://amitopia.com/inviyya-shooter-for-amiga-500-in- develo...](https://amitopia.com/inviyya-shooter-for-amiga-500-in-development/) .

I've fantasized about doing it myself on more than one occasion. The price of new Amiga hardware sort of puts me off, but it's not outside the range I could afford. Unfortunately, I don't quite have the time _right now_ (and, for once in my life, it's not a silly "i don't have time" excuse), so I'm watching it from afar.

<comment><USER5> This is childish: "AmigaOS can do ALL of the mentioned things above, including browsing OpenStreetMap maps better than on ANY other operating system out there."

<comment><USER4> Well, I _did_ warn you this was a fan scene :-).

</comment></comment></comment></comment><comment><USER6> Excellent website design.

So little effort (just AmigaOS 2+ colors and some amiga-ish gadgets), yet so much better than the average site these days.

<comment><USER7> I think it looks off putting, but it really depends on the audience.

</comment></comment><comment><USER8> For people wanting to try this, but not having the right OS installer, see [https://pastebin.com/9JK1i7aD](https://pastebin.com/9JK1i7aD)

</comment><comment><USER9> Does anyone know of a good up to date guide on QEMU? I have run into some bad old information.

<comment><USER10> [https://wiki.qemu.org/Documentation](https://wiki.qemu.org/Documentation)

If there is something missing, just drop a mail to the list. The devs are pretty responsive.</comment></comment>


These 20 pictures will teach you more than reading 100 books - <AUTHOR> https://www.theladders.com/career-advice/these-20-pictures-will-teach-you-more-than-reading-100-books <comment><USER2> Hmm ...

        You have landed here because
        The Ladders does not operate
        in Europe.

So there we are.</comment>


Yahoo is locking people out of their email if they use ad blockers - <AUTHOR> http://mashable.com/2015/11/21/yahoo-email-ad-blockers/#SpitwbK1CEql <comment><USER2> A well-known product or service seems to require some "large" number of consumers to become so popular, and also to stay relevant. The question is, do _all_ of the people in that "large" audience need to be _paying_ customers? What percentage of free users is a safe percentage?

The problem I see is that organizations assume 100% of users must act exactly the same way, and some very user-hostile things are done to ensure that. Each hostile act alienates some percentage of the audience. Sometimes, it's accidental: one day, it's improperly implemented copy-protections that accuse paying customers of being thieves; and here, maybe someone's family member installs an ad-blocker that screws another family member out of E-mail access because the 2nd person doesn't know how to turn off the "ad-blocker" that he's being accused of using.

At some point, enough users of a product are alienated that the remainder is no longer the magic "large" number that is required to keep the product popular, and the product _itself_ starts to fade into obscurity. Businesses have to stop this 100%-our-way-or-the-highway nonsense and just focus on making something really good that people want to use.

</comment><comment><USER3> I don't like this at all. As makecheck said, not all users are the same. Me for example, I am 100% willing to disable my ad blocker for two reasons:

1) if support the website

2) if the ads that I see do not interfere with using the site.

There are way too mane websites that allow (or don't disallow) ads with fake download buttons, or banner videos, popups, and other content that slows down the site and makes it incredibly difficult to use.

Don't block content because of ad blocks, how about improving ads instead?</comment>