Sound waves used to separate microplastics from laundry wastewater - <AUTHOR> https://newatlas.com/environment/sound-waves-microplastics-laundry-wastewater/ <comment><USER2> Back in 2006 I was contracted to design a power amplifier prototype for the civil engineering department of a university.

We built an adjustable 500W h-bridge based amplifier (operating between 50kHz to 300kHz+) which was used to drive transducers to create standing waves for waste water treatment, and it seemed to work alright in a bunch of our tests, but at fairly low flow rates.

We passed the prototype on to the client (I think it was for a joint project between Monash University and Melbourne Water), not sure where it ended up. Great to see the technique being applied in consumer applications :)

</comment><comment><USER3> I use a Cora Ball [1] in my laundry for the same purpose. Studies say it is only 26% effective, better than nothing.

1: [https://coraball.com/](https://coraball.com/)

<comment><USER4> Thanks for sharing that. I use a lot of polyester garments for sports and feel kinda crumby knowing it really hurts the environment.

Hopefully these sound wave systems can be adapted to municipal water systems so as to remove the consumer as the point of failure. Really cool to see the technology that creates Chladni figures being applied to something so useful.

Reminds me of how things start off as entertainment many times, and eventually make a way into an industrial application.

<comment><USER5> > Reminds me of how things start off as entertainment many times, and > eventually make a way into an industrial application.

I was just thinking about this phenomenon, in terms of how it runs counter to the criticism of "solutions in search of problems" and projects derided as "toys".

This is a good response to those condemnations: often great ideas work in entertainment first, then industry. The canonical example from antiquity is Heron of Alexandria's automata.

Nowadays, roller coasters seem like a technology that future historians will puzzle over non-utilization beyond entertainment. (The cause of course is zoning, which halted housing and transportation innovation a hundred years ago.)

</comment></comment></comment><comment><USER6> If this works like non-newtonian fluids, I imagine "finding the right shape" or series of tones/patterns works well in bulk.

[https://m.youtube.com/watch?v=SYMvOxIsES4](https://m.youtube.com/watch?v=SYMvOxIsES4)

I don't have any hard numbers, but it almost seems like we could easily spend a trillion dollars fixing a problem caused by a 100 billion dollar industries by-products.

What would a carbon credit scheme look like if it were for microplastics?

<comment><USER7> The effect you're thinking of isn't relegated to just non-Newtonian fluids.

[https://en.wikipedia.org/wiki/Cymatics](https://en.wikipedia.org/wiki/Cymatics)

<comment><USER6> Cool! I was thinking of granular convection using vibrations, but cymatics and -nf's have much more entertaining videos to visualize sound.

[https://m.youtube.com/watch?v=mmPpUztcqB8](https://m.youtube.com/watch?v=mmPpUztcqB8)

> What would a carbon credit scheme look like for microplastics?

A payment plan for a ransom...(insert punchline rimshot here)

</comment></comment></comment><comment><USER8> Very cool idea. Probably wouldn't want to do it where there is marine life though.

<comment><USER9> Generally, there is not marine life in the drain line of a washing machine.

<comment><USER10> Amusing but I think aiphex was considering the possible reuse of this tech against the pacific gyre.

<comment><USER11> If we cut off the microplastics at the source then the gyre will eventually take care of itself. The problem right now is that we're continually adding more and more pollution.

<comment><USER12> What do you mean "take care of itself"?

<comment><USER11> It'll make its way through the food chain and gradually clear up. Yes, it's going to harm a lot of ocean life in the mean time, but there's not much we can do about that. It's like trying to get red wine out of the white carpet and back into the bottle.

We should stop spilling the wine or at the very least drink it somewhere safer.

<comment><USER13> Or we can attack the issue at the source and the gyre...

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Say this has been productized and I now have a seven-year-old washing machine equipped with this.

How do I know that the acoustic standing wave is still activating, and separating the microplastics?

<comment><USER15> After month's or year's you would have bucket of micro plastic.

</comment></comment><comment><USER16> What other applications for this could there be?

<comment><USER17> I worked on a project using a similar concept for concentrating micro-algae in the water solution it is grown in. The previous method of extracting micro- algae was filtration or centrifuges. Filters get full too quickly and need regular attention, and centrifuges take too much energy since the density of the particles were very close to the density of water and didn't spin out easily.

We tried using standing acoustic waves to organize and "conclomerate" the micro-algae in the flow and siphon off water quite similarly to the image in the article. It "sort of" worked but only when the flow rate was really, really low because these forces are totally dominated by drag forces and even the smallest levels of turbulence remixes the solution.

What else could this be used for? Think of something that doesn't play nicely with filters or centrifuges and doesn't need to be processed at really high flow rates. Applications in the medical industry come to mind.

</comment></comment><comment><USER18> What is it about Soundwaves that allow plastics to move in a direction?

<comment><USER17> Resonant waves in a liquid can cause particles of different sizes to move toward the nodes or anti-nodes of a standing wave. A secondary effect is the particles can conglomerate and fall out depending on density.

<comment><USER19> I am more familiar with resonance in an electrical domain more so than a mechanical one.

How do they determine at what frequency to actuate the piezos in order to match the resonant frequency of these plastic particles? Is it just 'guestimated' or is there a more systematic way?

<comment><USER17> My guess would be that they choose the frequency based on the speed of sound in the liquid such that the nodes in the standing wave occur at a designed location in the chamber where the separation occurs.

</comment></comment></comment></comment><comment><USER20> Or we could stop making clothes out of materials that shed microplastics. And while we're at it, cotton too for the vast amounts of water it uses. Industrial hemp and linen are far more sustainable options. Tencel looks like a great replacement for cotton and uses wood cellulose.

<comment><USER21> Or we could stop making plastic.

Or at least the 90% of it making junk.

Even if we separate it, it still exists, as does basically all the plastic we've ever produced. Even separated, at the rate we're producing it, wherever we put it will overflow.

<comment><USER22> _wherever we put it will overflow._

The scarcity of landfill space is a myth sparked by the infamous "garbage barge", which nobody accepted because it came from the NY mafia and was getting too much attention, not because there was no room for it.

[https://en.wikipedia.org/wiki/Mobro_4000](https://en.wikipedia.org/wiki/Mobro_4000)

This Planet Money episode is a good listen: [https://www.npr.org/2019/07/09/739893511/episode-925-a-mob-b...](https://www.npr.org/2019/07/09/739893511/episode-925-a-mob- boss-a-garbage-boat-and-why-we-recycle)

<comment><USER21> If only it all made it to landfills, but the most polluted spots on Earth include south sea islands thousands of miles from population centers, ocean gyres, and so on.

Once you make something unhealthy, to suggest that (leaky) places to put some of them are abundant misses the point. They're unhealthy and the overwhelming majority unnecessary.

</comment></comment></comment></comment><comment><USER23> I've never owned a polyester garment that could be washed in water. Aren't they all dry-clean only? Blends (like denim) I can see but in general it seems like people just wash their clothes too often and use the machine too much instead of hand-washing.

<comment><USER24> No I just checked and many clothes like jackets, swim shorts and blue jeans the first 2 on the list made from 100% polyester are supposed to be machine washed. Save yourself some money and throw that clothing in the wash machine on delicate and you should be fine.</comment></comment>


Writing Documentation - <AUTHOR> https://stormpath.com/blog/best-docs-ever-6-tips-writing-documentation

<comment><USER2> As a technical writer who has a long history of digging into the code alongside the engineers, let me just say this: good architecture and design docs for software can save a ton of time writing doc as the development ensues and completes.

Whether it's a whiteboarding session or scribbles on a napkin, don't throw anything out or let it go forgotten. Get an internal wiki or use Google docs and save everything! Your tech writer will thank you.</comment>


The Legend of Zelda Turns 25 - <AUTHOR> http://games.slashdot.org/story/11/02/21/1930238/The-Legend-of-Zelda-Turns-25

<comment><USER2> I remember how inscrutable things like the reason the maximum number of rupees was 255 became clear to me once I learned more about computer programming and things like 8-bit unsigned integers.

</comment><comment><USER3> I loved the Zelda games. If I list my top 10 games ever, Ocarina of Time and Link to the Past occupy the one and two spot. Nevertheless, flagged. Not sure this belongs on HN.

</comment><comment><USER4> Man this just makes me feel old.

<comment><USER5> Tell me about it. Back in the day my (future) wife and I would burn a Saturday playing.

</comment></comment><comment><USER6> Definitely one of my all time favorite games. They don't make 'em like they used to.

<comment><USER7> Or, perhaps, they don't buy 'em when they make 'em like they used to. (Or, they don't publish 'em when they make 'em like they used to?)

Fortunately, the popularity of simple indie games is waxing.

A golden opportunity for these sorts of things currently exists on mobile platforms, Android/iOS, before big-budgets conquer the market. The dearth of even passably good Android games surprises me.

</comment></comment><comment><USER8> Ahh Zelda! The many fond memories I have of this game. I remember playing through Zelda as a child and my Dad getting into as much as I was...and then even more so. He played through and then beat the hidden second world. He still does, I was surprised to come home, 20 years later and find him "trying to get the blue ring".

I remember being terribly disappointed by Link but playing through as far as I could anyways. The strongest memory however was the awe Zelda: A Link to the Past invoked. Entering the names on the original screen I knew that I was on the beginning of a magical journey. The controller was respectfully passed around so the entire family could enter their characters names.

</comment><comment><USER9> I always thought an adventure game would make for great training, and in a lot of ways this has come about, but does anyone know of text-based training as adventure? I think _why's stuff was really great in the sense of storytelling as learning.

</comment><comment><USER10> I would love to play a good MMORPG based on A Link to the Past. It's kind of pathetic how nostalgic I get for my clearly well-spent youth when I think about that game.

<comment><USER11> Well I make no promises about the 'good' part (in fact it seems like its modern incarnation is a complete mess) but Graal Online used to be MMORPG based on a link to the past-like engine, I think at one point back in the day it even had ripped sprites/tiles from LTTP.

</comment></comment><comment><USER12> I've never played any Zelda but saw this image on Reddit and thought it was pretty awesome:

<http://steam-punk.net/zelda_25th_anniversary.jpg>

</comment><comment><USER13> wow, I just discovered my fiance shares a birthday w/ zelda. This day now doubly rules. Incidentally she really likes zelda and we've been playing through zelda 2 together on virtual console.

</comment><comment><USER14> Sweet! I'd love for them to make some new retro versions of the nes or super nes versions. We've got a hidden tribute on our website @ Gamify that surprisingly no one has ever caught.

</comment><comment><USER15> Zelda is one of my all time favorites. I love the series so much. Can't wait for the new game.

Seeing this, though, makes me want to make an adventure game. Hmm....

<comment><USER16> I haven't done games before, but lately I've had the urge to do the same. How badass would a Zelda clone be to make? Sadly I have no time to invest.

<comment><USER11> The last two DS Zeldas were basically begging to be cloned by someone with even an iota of common sense - they had fun dungeon/town sections spoiled by incredibly tedious overworlds that basically ruin the games (especially in the train one, I have no idea what they were thinking). Literally all you'd need to do to fix it is to yank out the boat/train sections and chuck in an overworld.

I started on one for iOS a while back but got bogged down with A) trying to roguelike it up B) models/animation, which I can't make nor afford to commission.

<comment><USER17> You should restart, it's an underexploited niche. The Zenonia games on the iOS have been wildly successful despite their formulaic predictability and underwhelming exploitation of the device's capabilities, simply because they're the only thing available in an overhead-view adventure semi-rpg.

</comment></comment></comment></comment><comment><USER18> When is the new one coming out if any?</comment>


Show HN: Helix I/O – Ultrafast genomic search - <AUTHOR> https://demo.helix.io

<comment><USER2> This looks neat, but is the method open? Is there a command line version?

I'd argue that while open source is a desirable feature in most software, it's a _necessary_ feature in scientific software. When our results depend on running through software, that software can't be a proprietary, closed-source black box.

<comment><AUTHOR> We're working on polishing a command-line version of the tool, amongst other features. But we'd love to get in touch with users/researchers looking to run some large scale projects (our intent is to have an open, free-for-academic- use product).

</comment></comment><comment><AUTHOR> OP here. We've been working on faster bioinformatics algorithms for the past year – this is a demo of one application which is effectively a fast replacement for BLAST. Happy to answer any questions about tech or usage.

<comment><USER3> This is really cool. I'd really love to set this up for use in the lab I work with. Are you guys planning on releasing a binary or web interface where I can upload my own *omic data for searching?

<comment><USER4> Hope it was clear that you can test it out with some small FASTA or FASTQ files now (just drag onto the upload icon).

And yes, we'd be happy to discuss your use case and get you set up with something. Just shoot me a note at nick at helix dot io and we can follow up off thread.

</comment></comment></comment><comment><USER5> We help use the NMPDR RAST servers and also run our own for sequence annotation. I'd have to check but if I'm remembering correctly our annotations fix errors (~%5) present in the NCBI databases and catches many more (something like ~20% of unknowns) for the organisms we work with. Problem is searching our indexes is super slow (comparatively) and not all in one place -- BLASTn/p takes some fiddling.

Could we use our own corpus for this?

Ah, I see you have some problems with species identification...are you using old NCBI datasets?

(ps. If you'd like to talk, you can email me at the address in my profile)

<comment><USER4> Yes, we're building out the features to make it easy to use with your own corpus. I'll follow up by email, but can you clarify what species identification issues you're seeing? (Would like to double check and get it fixed asap if there's a problem).

Thx!

<comment><USER5> It's a problem with NCBI, they have a bunch of H. haemolyticus and Hflu typed incorrectly. In fairness, I don't think NCBI is really on top of fixing those.

</comment></comment></comment><comment><USER6> This is very cool. I love data, all kinds of data. The more data we have available, the better.

But... what's the use case for this? Are there people with genomic sequences just laying around with no idea of what they represent? Or is it a resource for students?

(Serious question.)

<comment><USER7> If I got the tool right, one use case would be similarity search.

So you just finished the brand new genome sequencing of Sugarcane for example.

And you are interested in Aluminium resistence genes to be able to plant sugarcane in aluminium packed soils that would normally kill the plant.

What you do is to throw parts of the genome in a tool like that (there are others) and see if you can find a match for a Sorghum(Wheat,Corn...) Aluminium resistence gene that has been already researched and tested. The closest related the better.

Now you have some clue about where to start your studies or which genes you should be looking for in your new varieties or which gene to try to insert in your next Agrobacterium or gene bombardment test.

Cheers.

PS: I left the Bioinformatics field a few years ago (best job I ever had BTW) So correct me if I am wrong.

<comment><USER4> cfontes – Yes, that's definitely another use case of the underlying technology, though please note that the database loaded for the demo only include archaeal, bacterial and viral genomes (so you'd have a very hard time getting a hit on sugarcane sequences!).

(This is nkrumm's and my project)

<comment><USER7> Nice...

Thanks for the explanation and good luck.

</comment></comment></comment></comment><comment><USER8> Hi and congratulations, this looks like an excellent tool for bioinformatics. Just out of curiosity, how can you mathematically guarantee constant time searches independent of the database size?

<comment><USER4> That was an attempt to say (without resorting to Big Oh notation) that the data structures and algorithms we're working on provide O(1) lookups that take a fixed amount of time regardless of the reference / dataset size. Does that make more sense?

<comment><USER8> I understand what it means, but what I don't understand, and was curious about, is how you can achieve constant-time searching or the dataset. I started with the assumption that you're doing approximate matches, is this correct?

<comment><USER4> Ah – well to clarify, we're performing exact match lookups on individual k-mers (k-length genetic strings), and then computing a classification result from those exact searches.

<comment><USER8> Thank you!

</comment></comment></comment></comment></comment><comment><USER9> What stack are you using? Are you using anything like elasticsearch or non-sql Dbs ?

</comment><comment><USER10> Would be a lot more fun if it had eukaryotes.

<comment><AUTHOR> We agree! We're working on improving the scope of the reference database. Out of curiosity, what kind of use case do you envision for eukaryotes? (Amoeba, etc?)</comment></comment>


The PS1 Game Spongebob Squarepants: Supersponge Violates the GPL - <AUTHOR> https://mobile.twitter.com/foone/status/1137120829005750272 <comment><USER2> I'm surprised that no comment has extrapolated that since this was a vsprintf implementation copy, the final binary would be non compliant only if the machine code generated for it was distributed, but if it was only used for debugging internal builds (as I would assume), then the original developers didn't run afoul of the license. Am I incorrect in my understanding?

<comment><USER3> Isn't it common to leave debug code in production software?

<comment><USER4> I work on AAA games and we definitely don't leave any debug code in production copies of the games. It's all #ifdef'd out in Retail builds.

<comment><USER5> I'm always surprised when I see you here but I'm not sure why.

Anyway. I can corroborate this. Debug code is /really/ harming performance in AAA games. Also, you want to remove your "cheats" that QC use to skip chunks of the game.

<comment><USER6> Older games are known for still containing various cheats to skip chunks of the game or make them easier. I'd guess a PS1 game might still have debug left in along with cheats simply either due to time pressure or someone forgot.

<comment><USER7> In my experience, we would leave the cheats in retail builds of those old games mostly because leaving them in was less risky than removing them. They had been there during all of development and testing, and we were reasonably certain of the build's stability, but.. pull them out and your compiled code layout changes, data layout potentially changes, and who knows whether it'll expose a new misbehaviour we've never seen before or know to regression test.

It's just much much much safer to leave the debugging assistants (level skip, etc) in place. Especially back in the days when we couldn't issue patches after release!

(Also, depending on era, you could feed a cheat code or two to magazines/websites/etc to get another article written about your game.. doubt that trick works any more, though!)

<comment><USER8> As a kid from the 90s, I can confirm that I purchased more than a couple PS1 games that I learned about by reading their cheats lists! I wouldn't have found out about the games any other way, since we didn't get reliable internet access until much later. Those game magazines were a big influence on my younger years.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> A page with other prototypes and builds from this company may be seen here:

[https://hiddenpalace.org/Climax_lot](https://hiddenpalace.org/Climax_lot)

From the looks of it, Climax Group primarily developed licensed games and shovelware. Say what you will about the quality, but from the number of build dates for each game, they clearly had their shit together with respect to version control.

<comment><USER10> >A page with other prototypes and builds from this company may be seen here:

That is an insane amount of data! Very impressive.

</comment></comment><comment><USER11> I'm less interested in the GPL violation aspect, and mot excited to get an insight into what it was like to work on that team, 20 years ago. Minutiae like how to burn a build to CD [https://twitter.com/0xGradius/status/1137123492329951232?s=1...](https://twitter.com/0xGradius/status/1137123492329951232?s=19) feels like a window into the past.

<comment><USER12> Maybe it's a wake-up call for the contemporary prissy developer blogging about coding font ligatures, to learn that whatever masterpiece games they enjoyed in their youth were made in crappy OS using crappy tools and with dodgy coding styles.

<comment><USER11> Absolutely - I think we could all benefit from being more pragmatic and not sweating the small stuff.

</comment></comment></comment><comment><USER13> I wonder if this will impact game archival efforts. Companies may be less likely to permit release of old source (or more likely to take action against those who do release source) knowing legal issues like this may be inside. Is there a statute of limitations here? Could the owner the violated code sue? What happens it they succeed, monetary compensation?

<comment><USER14> "will"? This is why game archival efforts _are_ difficult. Companies already know that this kind of thing goes on, and that's why so few games (or commercial software of any kind) get their sources released.

<comment><USER15> Thanks, RMS.

</comment></comment></comment><comment><USER16> Does this mean that any GPL project could reuse source code from this game, under the logic that it all inherently must be GPL licensed?

I'm pretty sure the answer is "no", but I'd like to know why, it makes logical sense...

<comment><USER17> Two wrongs don't make a right. The way the GPL works is: you are given permission to redistribute someone's copyrighted work _provided_ you comply with particular conditions (such as providing similar permission to your end users). If you don't stay within those conditions, then you're violating that person's copyright (you're redistributing their work without permission) and _they_ can sue you. But that doesn't mean that I can distribute your work without permission, any more than you assaulting my neighbour means that I'm allowed to assault you.

Now the makers of this game and the copyright holder for the GPL work might end up reaching a settlement where the game engine is released under the GPL. (I know of one case of this happening: a Japanese visual novel producer, Leaf, released their engine as used in several games e.g. Kusari . As a result of this there's an open-source engine that you can use to play those games on linux). Equally they might end up reaching a different settlement that involves e.g. withdrawing the game from distribution (this happened with the Wii ports of some classic SCUMM games - they used ScummVM in violation of its license, but could not release their code under the GPL without violating the conditions of the Nintendo API they were using).

<comment><USER18> As a note, the FSF says on their website that their primary goal in any GPL litigation is to get the company to release the source under the GPL.

<comment><USER17> True, and in practice most copyright holders who release their work under the GPL feel similarly. However, in general a copyright holder is under no obligation to accept such a settlement, and in principle if you distribute GPLed work without conforming to the GPL terms then you are liable for statutory damages (in the US, $50k for accidental infringement and $150k for wilful infringement, per act of infringement) just like for any other act of copyright infringement.

<comment><USER19> Is that any copy sold, or eg any release of your software?

<comment><USER17> That's up to the courts to interpret. I don't know what the precedents are.

</comment></comment></comment></comment></comment></comment><comment><USER20> Part of me wants to express the irritation that people being neurotic about the GPL could cost us access to old games like this. I worry that someone overzealous would take down source for an 18 year old PS1 game over it.

<comment><USER21> The archivist in me loses this fight, I feel general adhering to software freedoms is more important and the greater good compared to a single game.

<comment><USER20> A "single game" is unlikely to be affected. _Many_ games are likely violating the GPL, and it's likely that if there are takedowns because of it, there will be a chilling effect on future source code release.

Are you really protecting software freedoms if it ends up, in fact, discouraging the process of freeing more software?

<comment><USER21> Well, it's not freeing software unless they release the game GPL, if they don't then they're just illegally using GPL source code making the source far from anything free.

</comment></comment></comment></comment><comment><USER22> Non-mobile link: [https://twitter.com/foone/status/1137120829005750272](https://twitter.com/foone/status/1137120829005750272)

</comment><comment><USER23> More readable link:

[https://threadreaderapp.com/thread/1137120829005750272.html](https://threadreaderapp.com/thread/1137120829005750272.html)

</comment><comment><USER24> I wonder if there's an ML approach that could be used to fingerprint binaries compiled from GPL code. Then I wonder if that could be used to justify discovery / win a suit.

I have no idea how this would work, but it strikes me as plausible?

<comment><USER25> That strikes me as sort of like dmca spam you see from music companies...

<comment><USER26> > _fingerprint binaries compiled from GPL code_

I think it's actually a good idea for discovering GPL violations, but false- positives are a real issue: it's trivial to reuse public-domain or BSD code and relicense them in a GPL program, and it's not uncommon obtain a separate license/exemption from the copyright holder. Also, some things are not even copyrightable (e.g. a lookup table of generic data). Discovering identical code snippets don't always mean a GPL violation.

But as long as the threshold is not too low and a real human (instead of a robot) is reviewing them case-by-case, I think it's okay.

</comment></comment></comment><comment><USER27> Super cool that the entire soundtrack is a bunch of FastTracker 2 XM files.

</comment><comment><USER28> I hate all this stuff, I wish Google just blocked all GPL code for me so I never had to see any of it. I have committed to many open source projects and have open soured my own projects. Of course I appreciate anyone is free to use what ever license they like but I do find is frustrating that a game (which is a complex piece of software taking lots of development time) gets picked apart because of a string formatting function, which should really have been available in the system libs, but as it wasn't a quick replacement was grabbed, with a small amount of extra time I suspect a replacement could have been found which wasn't GPL. But due to the lack of care, understanding, appreciation, someone could get their meathooks into the developer/publisher and cause harm. The software didn't sell because of this stupid function, the stupid function almost certainly existed, GPL free in many places, the GPL version had no value at all over any other version, yet where the developer cut and pasted from can have such catastrophic consequences. If it makes no difference to the end binary I feel like a dev should just be able to find or write an alternative and say you are right, that slipped through, sorry, we have now replaced it in our code tree with this version, it makes 0 difference to the end product, so building and shipping a new version would make no difference, simply making this change in our source tree effectively resolves the issue.

<comment><USER29> In this particular case it seems fairly unlikely that there will be any significant consequences. At worst, the game source code might now be forced into a GPL license. It's mostly worthless at this point anyway.

It is interesting to wonder how this case may have been handled if it was overall more relevant, though. I think a court might assess the actual value of that one function and say that it was something like fair use. Might be a bigger problem if there's a lot more, though.

</comment></comment><comment><USER30> what's the consequence if someone's product violates GPL ?

<comment><USER31> If the copyright-holder of the GPL'd work doesn't do anything, the consequences are... nothing.

The owners of lots of GPL'd works such as the GNU project tend to take an approach of quiet negotiation. They will contact the violators and attempt to inform them about their responsibilities when distributing GPL'd software. They want software to be free for examination and modification and many violations are unintentional.

GPL violations are extremely common, especially with Linux. For example every ip surveillance camera runs Linux/Busybox/etc and I have never seen one that provides source.

<comment><USER32> I'm bad at open source licenses, but wouldn't they need to make modifications to the Linux they're running on to be required to distribute their source?

<comment><USER31> Because they are distributing GPL'd software they also have to at least offer the exact source they used. If they are using an unmodified kernel, giving users a link to a git tag would satisfy this.

In practice, every embedded use of Linux I've seen has included at least some modifications.

</comment></comment></comment></comment><comment><USER33> There are plenty of BSD licensed implementations of this surely. There was no need to use GPLed code in this context.

<comment><USER34> I agree but most PS1 games were compiled using GCC. The developers probably got used to using GPLed tools and forgot something like this would change the license of their software (even if it wasn't actively used).

</comment></comment><comment><USER35> How many KB or lines is the vsprintf implementation they used? Just curious.

<comment><USER36> 227 lines, 4.62 kB. [https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665...](https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665c9dc0ec2e767ff47a6dd/kernel/vsprintf.c)

</comment></comment><comment><USER37> Would this mean that only their changes to the GPL would be forced to be made public or the whole piece of software using it?

<comment><USER16> The whole thing.

<comment><USER38> This is one reason I hate npm. Who really checks that sprawling byzantine dependency tree to make sure that there isn't some micropackage that has a GPL license that could get included and taint the whole thing?

I just have the horrors when I look at the package.json file after the front- end folks have been allowed to run free...

<comment><USER39> There's tools [0] to help check the licenses of all your dependencies. I think larger companies build up a whitelist of libraries as they're reviewed and approved.

[0] [https://github.com/davglass/license- checker](https://github.com/davglass/license-checker)

<comment><USER40> Yep. When I was at IBM, part of releasing something was a review every of dependency and it's license. The stuff I worked on wasn't allowed to include any GPL code. (Or WTFPL, for that matter, but I think that had more to do with curse words than actual license issues.)

<comment><USER16> Couldn't you just "relicense" WTFPL code as MIT code (or proprietary code, for that matter) and call it a day?

<comment><USER40> Haha, probably, but it wasn't a big deal to replace it with something else.

</comment></comment></comment></comment></comment></comment></comment><comment><USER41> Funny, I had a feeling foone had posted this even before I clicked on it. Seemed like their sorta thing. :)

</comment><comment><USER42> Does this mean they can open source the Spongebob game to port it to different platforms?

</comment><comment><USER43> I'm guessing nobody ever asked for the source code, so maybe it wasn't _that_ violating, and now we know it's GPL. ;- )

<comment><USER44> Well, the GPL requires that they have the license text available somewhere.

</comment></comment><comment><USER45> How does using GPL impact a SaaS product?

<comment> yoz-y Depends on which GPL, basic GPL can be sidestepped. The Aferro GPL (AGPL) was made specifically to handle the SaaS case.

<comment><USER45> Can you explain further what you mean by sidestepped?

</comment></comment></comment><comment><USER46> When I was in games the moment I saw the letters GPL was the moment I closed the tab. GPL code is too dangerous to even read. Stay far far away and hope no one screws up and poisons your entire codebase.

<comment><USER47> But that's the point, isn't it? Are you developing free software? By all means use this GPL library! You are developing proprietary software? Well, too bad, you don't get to use this code. Either develop it by yourself or look somewhere else. Not that what I'm saying is contrary to what you said, I'm just pointing out that it's by design.

<comment><USER48> What the parent poster mentioned is not using a GPL library, but merely looking at its code. The thinking is that once someone reads some piece of code (no matter its license), they're "tainted" forever, and any code they ever write in the future could be treated as "subconscious copying" of that code they had read. If one is afraid of including any code under the GPL (or any other specific license), and one subscribes to that "subconscious copying" theory, it makes sense that one would avoid even getting near code under that license like the plague.

</comment></comment></comment><comment><USER49> Isn't it fine since they've released the source?

<comment><USER50> They didn't release the source.

<comment><USER51> Plus that wouldn't be enough, it'd have to be released under a license with the same rights (lots of source out there is just for viewing, and can't be reused).

</comment></comment></comment><comment><USER52> What are the violations? The twitter post just states that GPL was violated, but no evidence offered.

Edit: I'm looking at it on mobile, and the only link seems to be a self referential link, not to anything of substance.

<comment><USER53> If you read the full thread they took the vsprintf() implementation from the Linux kernel circa year 2000.

<comment><USER54> The proof for that seems to be the existance of 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz

I guess this comment is now a) vsprintf and b) a gpl violation, too.

<comment><USER55> The leaked game source code:

[https://github.com/philosophofee/SBSPSS/blob/5c41694e561de9c...](https://github.com/philosophofee/SBSPSS/blob/5c41694e561de9ce8d763d31ad22bbe595be09ca/source/system/vsprintf.cpp)

The Linux kernel code:

[https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665...](https://github.com/zavg/linux-0.01/blob/5839d67d5825265fc665c9dc0ec2e767ff47a6dd/kernel/vsprintf.c)

</comment></comment></comment></comment><comment><USER56> Love clicking on twitter links and being completely confused. They've just stopped showing threads and replies on the non-JS page anymore. This is what we see, and this does appear to be a recent change: [https://imgur.com/94u95no](https://imgur.com/94u95no) there's nothing below this, this is the full page.

<comment><USER45> But imgur works without JS?

<comment><USER56> I don't understand what imgur has to do with Twitter deciding to stop serving content to browsers with JS disabled?

I was just trying to explain why some of us were confused -- until I tweaked NoScript, the first tweet is shown by itself and is sort of perplexing without the rest of the thread as context.

</comment></comment></comment><comment><USER57> The more we harp on license, the less we can actually save. The problem isn't that it's GPL. The p problem is that GPL is as much a part of the copywrong system as any other license. Three years is inordinately long to support an offline game like that, especially a licensed one. And frankly, I think in the license wars, I have to back Nickelodeon over GNU-GPL folks.

<comment><USER51> You can avoid the requirement to offer it for three years by shipping the source along with the binary. It's one or the other, not both.</comment></comment>


Audio pre-processing for Machine Learning: Getting things right - <AUTHOR> https://github.com/scarecrow1123/blog/issues/9 <comment><USER2> This is a good starting point but it ends just when things get interesting. If you are going to process audio for ML make sure you experiment with normalizing the input volume, this can make a huge difference and try if your inputs are in stereo to process both mono, single channel and stereo inputs to see which one performs better.

Finally, if you pre-process the audio using an FFT try different FFT sizes.

<comment><USER3> It might be good to understand how changing the hop and window size affect the analysis so you're not blindly changing settings.

The trade off for window size is frequency resolution and time resolution. A bigger window gives you narrower bands, so more frequency resolution while giving you less temporal resolution where an onset of transient is significant in the analysis. Similarly, hop size will determine how 'leaky' the process is and how fine grained the windows will be. This can effect detecting quick peaks or changes while possibly smearing them across a few windows.

</comment></comment><comment><USER4> Careful! FFMPEG has an infectious license and the authors WILL publicly humiliate you on their Hall of Shame if you get caught misusing it by not open sourcing your whole application:

[https://ffmpeg.org/shame.html](https://ffmpeg.org/shame.html)

</comment><comment><USER5> Some good basic info, but at the same time there are some inaccuracies. WAV is not a lossless format, it's a container, it can contain any compressed audio format, even mp3. You can have PCM inside WAV, which is indeed lossless, but you're not going to see that in the wild too often. Going with 16k is also questionable, since most readily available pre-existing datasets, were recorded in 8k (which is what telephony codecs mostly use).

<comment><USER3> WAV is almost always lossless with PCM data. I'm not sure where you got the impression that "you don't see that in the wild too often". Depending on what kind of analysis you need to having your audio at 8k is going to deem any results useless. I would have it minimum 16k and aim for 44.1k in order to preserve the top end which is where a large quantity of useful information is. The reason most sets are recorded in 8khz is that they are running MFCC's which are quite stubborn and insensitive to the high end anyway with most enough information for machine learning existing in the bottom end. If you're doing music, or environmental sounds you really need to preserve the other frequency bands.

</comment></comment><comment><USER6> I spent some time using the synchrosqueeze transform to preproccess audio files before feeding it into the network. Basically, you do a cwt, and then feed the output of that into the synchrosqueeze. It basically sharpens up the cwt, so that a signal isn't spread out into so many bins. The output of the cwt is complex, and normally you through the imaginary data away. The synchrosqueeze transform uses the imaginary data to work it's magic. Figures 5 and 6 of the below pdf are good examples.

I believe I based my code of this matlab code: [https://github.com/ebrevdo/synchrosqueezing/tree/master/sync...](https://github.com/ebrevdo/synchrosqueezing/tree/master/synchrosqueezing)

The above matlab code is ridiculously slow, I rewrote it using sse intrinsics, and got it several orders of magnitude faster.

I hope this helps out someone. I never really produced anything with it, but I still feel it is promising.

[https://services.math.duke.edu/~jianfeng/paper/synsquez.pdf](https://services.math.duke.edu/~jianfeng/paper/synsquez.pdf)

</comment><comment> a-dub Use this: [https://github.com/librosa/librosa](https://github.com/librosa/librosa)</comment>


Announcing Ruby Support for AWS Lambda - <AUTHOR> https://aws.amazon.com/blogs/compute/announcing-ruby-support-for-aws-lambda/ <comment><AUTHOR> Curious why this was marked a dupe. Ruby support isn't mentioned in a similar article ([https://news.ycombinator.com/item?id=18562096](https://news.ycombinator.com/item?id=18562096)), and AWS saw fit to give this announcement its own blog post.

<comment><USER2> This is becoming more common on HN these days.

</comment></comment><comment><USER3> This is awesome. I hope [http://rubyonjets.com/](http://rubyonjets.com/) will use all the new functionnality we saw this morning, including the lambda layers.

<comment><USER4> Jets now uses the official AWS Ruby runtime. Blog post here [https://blog.boltops.com/2018/12/12/official-aws-ruby- suppor...](https://blog.boltops.com/2018/12/12/official-aws-ruby-support-for- jets-serverless-framework) Jets makes use of Lambda Layers to build the gem layer [http://rubyonjets.com/docs/gem-layer/](http://rubyonjets.com/docs/gem- layer/)

</comment></comment><comment><USER5> This is awesome. Wonder if serverless-ruby.org made a difference in helping them prioritizing it. Either way, it's a huge upgrade to Lambda (especially with the new Lambda Layers and Runtime API) [https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use- any-...](https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any- programming-language-and-share-common-components/)

</comment><comment><USER6> With Rack integration this could be very very nice. I kind of wonder why the format doesn't follow Rack convention.

<comment><USER7> The format follows the convention of their other languages. But it'd be trivial to create a rack compatibility layer

</comment></comment><comment><USER2> This is fantastic!</comment>


The Exceptional Beauty of Doom 3's source code (2013) - <AUTHOR> https://kotaku.com/5975610/the-exceptional-beauty-of-doom-3s-source-code <comment><USER2> Maybe add a (2013)? [https://news.ycombinator.com/item?id=5059342](https://news.ycombinator.com/item?id=5059342)

<comment><USER3> The moderators generally ask us to email this kind of request to firstname.lastname@example.com, I'll do that now.

</comment></comment><comment><USER4> I've got to disagree with his point about brackets. Maybe it because I write mainly python but following a while statement with some ifs delineated only by whitespace is no problem at all and the brackets are just noisy and unnecessary.</comment>


Hacker Steals Military Docs Because Someone Didn't Change a Default FTP Password - <AUTHOR> https://www.bleepingcomputer.com/news/security/hacker-steals-military-docs-because-someone-didn-t-change-a-default-ftp-password/ <comment><USER2> He stole the docs by compromising a router that was running the FTP protocol.

That shouldn't even be a thing happening in this decade! The default password barely enters into it. Vendor leaves giant foot gun. Customer blows foot off.

<comment><USER3> If they changed the default password, it would be much, much harder, FTP or not

<comment><USER4> I've noticed that in Enterprise environments, it's very common that people don't change default settings. I think it's because in a team, you don't care as much. It's not your own stuff, and you sometimes don't feel like you have the authority to change things like default passwords. Someone could be using that password, you could be breaking some app etc. Easier to ignore it.

I think I read somewhere that it's a lot harder to hack home networks than enterprise systems, which makes very much sense to me.

<comment><USER5> Home networks have only a single point of failure. Enterprise systems have multiple points of failure, some of which are unknown because the people who were the "failures" have left the company for decades.

</comment></comment></comment></comment><comment><USER6> Why are the military using home routers?</comment>


Chips of convergence - Apple and the ARM switch - <AUTHOR> http://theorangeview.net/2011/05/chips-of-convergence/ <comment><USER2> Personally, I don't see this happening soon. 64-bit ARM is in it's infancy ([http://www.eetimes.com/electronics- news/4210884/ARM-64-bit-C...](http://www.eetimes.com/electronics- news/4210884/ARM-64-bit-CPU-coming-soon--says-report)), and in the timeframes given >4GB of memory is going to be standard.

Getting a new CPU instruction set going is hard work - the original AMD64 instruction set took 3-4 years to get mainstream Linux support, and without any hardware or software emulators out there to aide development...

<comment><USER3> You think it would require much more work than just a recompile? With the similarities between iOS/OSX and Apple's investment in the LLVM toolchain I see the switch going smoother than PPC -> x86.

<comment><USER2> For any performance intensive tasks, yes. Especially gaming.

That said, the entire computer industry is going ARM (Windows 8, all mobile platforms, etc.) so I'm guessing that the transition will be easier.

There's much less tight x86 assembly for critical performance areas than was commonplace 10 years ago.

</comment></comment></comment><comment><USER4> I wonder how important the ability to virtualize Windows is to Apple converting Windows users?

My impression is that it's quite important. Even if people don't end up using Windows for much, they know that they can, and that significantly lowers the risks and cost of transition.

If future versions of Windows run on ARM and Microsoft does a good job of handling compatibility with older software, this might not be a major issue. But I'd bet that it's still a major consideration.

<comment><USER5> I think it matters more for mid-range business market, less so for the home consumer that may find an iPad already meets most of their needs.

Personally, Windows virtualization is an unfortunate requirement I have due to Windows-only hardware development tools.

I'm still pissed at Atmel for basing their modern AVR Studio 5 on Visual Studio, rather than on the Eclipse-based work they did for the previous version of AVR32 Studio.

</comment></comment><comment><USER5> Apple will require CPU emulation to support legacy software releases (think Creative Suite, MS Office, ...); whether this can be done with reasonable performance on ARM is the first real question.

After that, why not make a switch? We (developers) can support ARM just as easily as x86-64, x86-32, and PPC. There are some specific areas that will require rework (games!), but investments are already being made there to support iOS.</comment>


Samsung courts developers with low-cost Origen Exynos dev board - <AUTHOR> http://www.thinq.co.uk/2011/5/30/samsung-unveils-origen-exynos-board/

<comment><USER2> To borrow a ./ meme:

But does it run Linux?

Seriously, though... For $240, it sounds like it'd make an awesome home Linux server/media center... Even has HDMI built in.

</comment><comment><USER3> I'm loving this, especially the fact that the application processor is on an easily upgradable separate board. Can we say quadcore?

The commitment of resources to software support is also much appreciated.

I have an upcoming project that could use something just like this for the initial design & prototyping.

Would be good to know what the minimum order is for the production parts though.

</comment><comment><USER3> This is the main site for the board:

<http://www.origenboard.org/></comment>


How OkCupid prevents break-ins despite buggy code - <AUTHOR> http://www.okws.org/doku.php <comment><USER2> OKCupid is pretty cool...but I can't imagine writing web apps in C++. It just seems pointless and kinda stupid. Performance of machines is so good these days...even the slowest web frameworks in high level languages (RoR and Zope/Plone come to mind) are plenty fast enough for almost every requirement.

I'm sure the guys writing it right now can do fine with the language (and it appears they've created a reasonable DSL on top of C++), but hiring competent developers to take over or help move the product forward faster will be difficult. And, of course, there's a lot of benefit to choosing languages that are already in wide use for the general task you're working on. When I want to add email capabilities to my Perl or Ruby web apps, I go to CPAN or the gems library to find a good email library. In C++, I'm not convinced I'd be able to add interesting email capabilities (receiving, parsing, sending, etc.) in an afternoon...but I'm sure I could in Perl. But maybe I'm just too limited when working in C++.

</comment><comment><USER3> I like OK Cupid because of the word play in their name, just like the OK Computer album.</comment>


The Big Data space: picking a horse (250 co's growth trajectories) - <AUTHOR> http://www.datafox.co/blog/big-data-picking-a-horse/

<comment><USER2> That cluster chart is extremely bad data presentation: you can't just draw a box to abritrarily identify clusters, especially if they aren't easily visually distinguishable.

This article has more upsell than genuine information.</comment>


Losing focus: Why tech is getting in the way of work - <AUTHOR> http://www.bbc.co.uk/news/business-32628753 <comment><USER2> As a developer, I find it hardest to focus when I don't really have anything clear to focus on. On the other hand, if I have clearly specced small tasks that need to be done, it's quite easy to focus on those, even when there are distractions. If I hit a roadblock or realize I have to re-plan something, that's the moment when I usually lose focus.

Also, I'm not good at focusing in the design / planning stage, if the new feature is kind of ambiguous, and I'm not exactly sure about the requirements. I think it'd help a lot if I had some clear strategy about the design process. Sometimes, though, not actively thinking about something let's the brain sort everything out, and the right solution kind of emerges on it's own.

Currently I'm working on a task 'design and implement the billing system', so here I am on HN.

Edit: I also use [https://heyfocus.com/](https://heyfocus.com/) which bounces me back to work, if I 'accidentally' drift off.

<comment><USER3> > Sometimes, though, not actively thinking about something let's the brain > sort everything out, and the right solution kind of emerges on it's own.

This is the _only_ thing I miss about cigarettes. Myriad solutions came from cigarette breaks. I know that other types of breaks work just as well, but it was just something about that specific type.

<comment><USER4> Maybe it was the enforcement mechanism (the chemical need basically) that made sure that sufficient breaks were taken? I notice the smokers at work have 2-3 breaks throughout the day every day while the non-smokers basically don't have any breaks. Maybe because they're worried they'll look like they're slacking off while the smokers don't care, they have a physical need to attend to?

</comment></comment></comment><comment><USER5> Reading the article suggests another reason why someone might lose focus, what started out as reporting on research that indicated a change in behavior morphed into a shopping experience.

The procession:

1\. Interesting but perhaps uncorroborated research

2\. Unsubstantiated possible implications of the uncoroborated research.

3\. A list of consumer goods and their marketing claims.

</comment><comment><USER6> I can't keep focus because there is a different article every day on HN about how to keep focus in a new way.

</comment><comment><USER7> For me personally it's not so much incoming notifications that distract me, but my colleagues. We're a small team of iOS and Android developers (about seven people total), and there's an almost constant buzz of random activities about various subjects - 90% of which are not directly relevant to me, but sometimes they are.

Plus I have a colleague that Demands I Look At His Code Now from time to time. On the one side I want to indulge him, on the other - could you wait until I'm not in the middle of something? Or not show me an update every five minutes? The headphones are there for a reason.

<comment><USER8> I think there are a lot of ways you can help out the "look at my code now" guy. Even a simple "give me a few minutes to finish up what I'm working on" could go a long way. If you do it regularly enough, it should be a constant reminder to him that you have work too and he may start asking you to look "when you are free".

<comment><USER9> I'm not usually a guy that asks for a code review to be done directly by pinging the reviewers, but I've found on certain projects there are colleagues who will unfortunately _never_ review any diffs I have with them listed even as the sole reviewers until I ask them.

This is unfortunate but means that I fall behind by however long I don't ask them to review my code for :( Others are great and I don't have to ping them directly and they can tell how urgent a review is or isn't usually.

Not commenting specifically on any situations discussed here but just realizing I do sit on the other side of the fence from time to time.

<comment><USER8> Good point. I certainly have a long backlog of changes waiting for review from others. I suspect that's more of a flaw in my current job's review process though.

I do think there's plenty of room to ping colleagues with a "hey, don't forget about that code review" before you become the "stop what you're doing and look at my code" guy.

</comment></comment></comment></comment><comment><USER10> Good way to focus is to pair up.

If you sit with someone else you may still chit chat a bit but you are unlikely to check your email, twitter, HN etc as your conscience is likely to make you focus on the task you are both there for.

Like pomodoro technique it is important to still take breaks to check HN etc otherwise you go mad.

</comment><comment> atom-morgan I'm not ashamed to admit that I use SelfControl [1] when I really need it. That way I literally can't access social media, HN, etc.

[1] [https://selfcontrolapp.com/](https://selfcontrolapp.com/)

<comment><USER11> I really like the use of tools that make focus the default, low-motivation option. If you're not on a Mac, Firefox has LeechBlock[1] and Chrome has StayFocusd[2]. Also, if you're on HN, there are built-in settings under your username you can use to limit how long you can access the site for every few hours.

Ironically, that's why I'm on HN now. I know I only have 15 minutes and then I won't get to use it for another few hours. :)

[1][https://addons.mozilla.org/En- US/firefox/addon/leechblock/](https://addons.mozilla.org/En- US/firefox/addon/leechblock/)

[2][https://chrome.google.com/webstore/detail/stayfocusd/laankej...](https://chrome.google.com/webstore/detail/stayfocusd/laankejkbhbdhmipfmgcngdelahlfoji?hl=en)

</comment></comment><comment><USER12> PG's articles on this topic is very good, IMO.

The level of stimulation around us has gone way up. Our ability to deal with it culturally and psychologically has not gone up the same way. Whether the answer is to limit our exposure, envelop discipline or whatever, I think it's up to the individual at present to figure out a way.

The scary trap is: It's easy to consider procrastination/distraction a little problem. It is not.

Maybe we need to treat "distraction" like dieting or quitting smoking. That's disconcerting because we're horrendously bad at dieting and overcoming addiction.

 _People commonly use the word "procrastination" to describe what they do on the Internet. It seems to me too mild to describe what's happening as merely not-doing-work. We don't call it procrastination when someone gets drunk instead of working._ \- pg

[http://www.paulgraham.com/distraction.html](http://www.paulgraham.com/distraction.html) [http://www.paulgraham.com/addiction.html](http://www.paulgraham.com/addiction.html)

</comment><comment><USER13> My main response to distraction is to remove myself somehow, while still being "available". If I can't leave the office, don't stop typing to talk to someone. They will get the picture quickly generally. It works better than closing the door (people come in anyway, often in the middle of phone calls) and distractions make their way through putting on a headset and a lecture or some music. (on a side note, I have noticed that I spent quite a bit of time listening to lectures about wide ranging subjects, and had significantly reduced my music listening. I have noticed more productivity with music than with lectures recently, and am moving back in that direction.)

Honestly though, for me as a sysadmin, I do no better work than in the dead of night with no one else in the office and I just simply don't even have to worry about external distractions. No one is calling and interrupting my flow, or requesting my presence, (the majority of my interruptions), and I can put on whatever entertainment I like and work away.

</comment><comment><USER14> spend $30 (at best) and avoid all problems for ever. (true story)

Nokia 108. It has radio. It also as 1 week of batter life, by buying it, I have more $$ for a new laptop, and the apps I don't have access to have rewarded me by letting me walk places looking for things, sometimes not finding them and finding other better things instead.

Also my memory is getting better without my smart phone, but I'm a fairly visual thinker and I think that taking photo's to remember things was training me not to do it for myself.

each to their own, I work in finance and attention to detail is paramount, peers are less a distraction that a smart phone (which is becoming more of a toy day by day)

</comment><comment> chestnut-tree This link might be useful to a few. It's one hour of audio (and video) of birdsong. If you need some calming background audio to block out external noise, this might help:

[http://www.bbc.co.uk/programmes/b05ttkx2](http://www.bbc.co.uk/programmes/b05ttkx2)

If you're not in the UK, someone has also uploaded it to YouTube

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

It's part of a BBC season of 'go slow' TV programmes inspired by Norway's 'slow TV' concept.

</comment><comment><USER15> I don't get it. They used a metric of looking at different screens as a lack of focus tool, and yet I've just had a nice 2 hour long session of developing a script, where I kept glancing between the script and the output on 2 monitors to see if I had fixed it. By their metric I was not focused, and yet I was just telling my colleague I had a great 2 hour long focused session

<comment><USER7> They probably meant 'window', i.e. what application had their focus. That's probably also not a very good metric though, given that developers will often flip between editors, terminals and browsers rapidly. It compares with 2004, although it doesn't specify in what area; I'm sure that single-application focus is also highly dependent on the area of work and the software used. Some people can do all their work in one application, others need half a dozen or more.

Also, iä! fhtagn!

</comment></comment><comment> at-fates-hands The other option is what I'm running into in my current contract as a developer.

Work at a large healthcare company and they have everything locked down. And I mean EVERYTHING. No social media sites, no youtube, even 80% of the articles on HN are filtered out. Embedded videos? No way. Even a lot of images in the articles I read are filtered out as well.

On top of that? You have to agree to very strict email guidelines when you sign into your POP3 email accounts and oh yeah, the system automatically signs you out after 15 minutes. Not sure how many emails I've started and then look up and see the connection to my gmail account was terminated and I have to log back in to complete my email.

I won't even go into the lengthy process it took just to get Chrome installed on my laptop.

In a way, you have no option but to focus on work, they've effectively taken any and all distractions away from you, quite forcefully.

</comment><comment><USER16> If you enjoy the ADHD Type 1 channel you should checkout DI.fm! Been listening to DI for years, great new content all the time. Plenty of old stuff as well.

</comment><comment><USER17> How many of you made it through this article without getting interrupted? I only made it about 1/3 the way before I received 3 different text messages.

<comment><USER18> Couldn't you switch off your phone? Problem solved.

</comment></comment><comment><USER19> For a way to use tech to actually increase your focus: [http://focusr.co](http://focusr.co)

</comment><comment><USER20> pkorzeniewski - your post is dead. I work from home 90% of the time and I find it really hard not to be distracted by technology (social media). I think that overcrowded offices and technology are two orthogonal problems here.

But the trend still seems to be for technology to add more noise. OS X comes with a super-chatty Notification Center that increasingly brings in noise from your phone, smart watches are distracting by default, and I can't imagine what kind of social notification bullshit the Internet of Things will enable. How can we fight this trend?

<comment><USER21>
      [..] I find it really hard not to be distracted by
      technology (social media)
      [..] How can we fight this trend?

There is an obvious solution for at least part of the problem, isn't there?

<comment><USER22> > There is an obvious solution for at least part of the problem, isn't there?

Not without spending a lot of time configuring applications. Now I find Android more difficult to configure than Windows Advanced Server.

For example, in the past Twitter only notified you about tweets for you, then they started to play with the discovery stuff and send you all kind of tweets that may interested you. Sure, I can go to the configuration and disable this stuff but only after realizing their notification behavior changed. Thing about this multiplied by many applications.

<comment><USER23> Apps that you don't install can't bother you with notifications. The solution to your problem is readily apparent.

<comment><USER20> Even iTunes(!) posts "now playing" notifications by default nowadays. It's not trying to be useful, it's just a "look technology" demo. If you don't want to mess around with launchd, you have to disable these pointless interruptions for each new Mac app that you install.

It's possible to silence all your devices, but even then it still affects the people around you. It's like insecure defaults - yes, you can RTFM and fix all the things in the house, but I wish I didn't have to.

</comment></comment></comment></comment></comment><comment><USER24> I am using Focus@Will a lot.

Works for me.

<comment><USER18> Interesting. I tried it and didn't notice any improvement over any other music. How much do you think is caused by the actual music and how much do you think is because you have invested some money into improving your focus and so your brain now has a greater incentive?

<comment><USER24> Because with the other music it doesn't happen. Their price point is insignificant and is not doing a placebo effect. Some channels do nothing, and bother me. Uptempo High Intensity is what works best.</comment></comment></comment>


Panel seeks to fine tech companies for noncompliance with wiretap orders - <AUTHOR> http://www.washingtonpost.com/world/national-security/proposal-seeks-to-fine-tech-companies-for-noncompliance-with-wiretap-orders/2013/04/28/29e7d9d8-a83c-11e2-b029-8fb7e977ef71_story.html

<comment><USER2> You'd think we would learn our lessons about sabotaging our infrastructure and software to enable easy LE wiretap access after the Olympics spying scandal in Athens when somebody discovered this back door and used it to spy on the Prime Minister plus a hundred other dignitaries such as the US Ambassador.

Wonder how this panel's decision will affect projects such as Textsecure and Redphone which were sadly sold to Twitter, and therefore under US jurisdiction to force backdoors into. Same goes for Phil Zimmerman's new service.

<comment><USER3> > Wonder how this panel's decision will affect projects such as Textsecure and > Redphone

I say it is only a matter of time. The wheels are already turning in that direction. Just need a few terrorism/child porn high profile cases where someone on behalf of FBI will testify how they had to let the evil perpetrator go because encryption made it impossible to wiretap them -- and bam legislation will be out in no time.

Remember many countries make cryptography illegal and even in US exporting string cryptographic software was the same legally as exporting the designs for bombs and rockets. And ban and/or arm twisting fines are just around the corner I suspect.

</comment></comment><comment><USER4> People surprised by this probably ought to revisit the trap and trace requirements that the telcos have had in place _for decades_.

[http://en.wikipedia.org/wiki/Communications_Assistance_for_L...](http://en.wikipedia.org/wiki/Communications_Assistance_for_Law_Enforcement_Act)

<comment><USER5> The legal framework was established in the 60's:

[http://www.aarclibrary.org/publib/church/reports/book3/html/...](http://www.aarclibrary.org/publib/church/reports/book3/html/ChurchB3_0147b.htm)

</comment></comment><comment><USER6> People will have a really tough time complying with this. CALEA requires that the subject of the intercept not be made aware of intercepts being made. If a target can check that the IP of his peer and is own is public, by a side channel for example, and a 3rd party IP is still used for 'nat/firewall traversal' that is known not to be needed, then the game is up. As usual, you'll only catch the clueless.

<comment><USER7> I once set up a bridging firewall (using LEAF Bering) for a friend's business to control traffic invisibly (this wasn't for any nefarious purposes -- he really needed a firewall that didn't take up an IP number on his public network.)

Configuring it was a pain in the ass (you couldn't telnet/ssh into it because it had no IP number) but it worked very well and didn't show up in pings, traceroutes, or much of anything else.

You can do a lot at the frame layer.

</comment></comment><comment><USER8> I find it funny that because technology began in the simplest, unencrypted, analog formats that now the government expects the ability to wiretap anything with ease.

<comment><USER9> Not to mention the implicit idea that if something makes law enforcement's job easier, then it should be legally mandated.

<comment><USER10> I know, pulling over for flashing lights and sirens, what BS is that?

Seriously though, it often makes sense to build in affordances for enforcement. We may not agree what laws exist, but if they're going to be enforced, they should be enforced uniformly and efficiently.

<comment><USER11> No, we should _not_ enforce laws efficiently, because that weakens the protection against tyranny. We want law enforcement agencies to have to jump through hoops so that tyrannical and oppressive laws are hard to enforce. The reason the US government is so inefficiently organized is to thwart the establishment of tyranny. Yes, it means that people who creep us out, who are "obviously" guilty, and whom we personally want to punish will continue to walk free. As H. L. Mencken famously said,

"The trouble with fighting for human freedom is that one spends most of one's time defending scoundrels. For it is against scoundrels that oppressive laws are first aimed, and oppression must be stopped at the beginning if it is to be stopped at all."

<comment><USER10> I dunno. i think that's the kind of thinking that pushed the cost to defend against a federal case up to 1.5 million.

I'm not advocating we just throw people who might be guilty in jail. Everybody deserves their day in court. I think you'd be hard pressed to find someone (who's not directly involved in something horrible - father of a murdered child, etc) that disagrees with getting a fair trial.

For example, i'm a big fan of red light cameras. I hate them, but the blind uniform enforcement is great. Doesn't matter if you're a cop, or an important business man, or late for school. You break the law, you pay your ticket and move on.

Laws are for cases where it's hard to get everyone to agree in the heat of the moment, that's why we write them down beforehand. Arguing about Alice killing Bob is different from arguing about Alice buying a car from Bob. It's still a negotiation, but adding some special cases so everyone gets all the facts doesn't seem wrong. Remember, the prosecution still has to turn all that stuff over.

<comment><USER11> "I think you'd be hard pressed to find someone (who's not directly involved in something horrible - father of a murdered child, etc) that disagrees with getting a fair trial."

I am pretty sure your local district attorney would disagree. The majority of prisoners in America -- the _overwhelming_ majority -- did not have a trial and took a plea deal instead. A standard prosecutor tactic is to make the list of charges as long and extensive as possible, to pressure the defendant into a guilty plea. It has been suggested that if everyone were to refuse a plea deal and demand a jury trial, the justice system would be completely overwhelmed and unable to handle the load.

"For example, i'm a big fan of red light cameras. I hate them, but the blind uniform enforcement is great. Doesn't matter if you're a cop, or an important business man, or late for school. You break the law, you pay your ticket and move on."

I had not thought of that, but it is a _perfect_ example of why we do not want law enforcement to become too efficient:

[http://www.marketplace.org/topics/life/shorter-yellow- lights...](http://www.marketplace.org/topics/life/shorter-yellow-lights-mean- more-red-light-revenue)

<comment><USER10> Is the district attorney's opinion because of your strategy to make everything expensive?

We build other systems that are very complex, explicit and efficient. Less prosecutor discretion, and more adaptive law seems better than making trial costs spiral out of control.

Yes, and yellow light timing isn't contentious at all, is it? It's almost like perfect enforcement of stupid laws gets those laws modified to not be stupid. But whatever, i'm sure your way is good too.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> The Coming War on General Purpose Computation <http://craphound.com/?p=3817>

</comment><comment><USER13> I like how fines will double each day if left unpaid. Within a few months, the fine will be much much higher than all money in existence.

</comment><comment><USER14> A good starting place to think about the CALEA system (besides, as other comments mention, looking at CALEA itself) is this paper from Matt Blaze and his students: <http://www.crypto.com/blog/calea_weaknesses/>

Also interesting is Steve Bellovin et al.'s excellent report on security implications of extending CALEA to VoIP: <https://www.cs.columbia.edu/~smb/papers/CALEAVOIPreport.pdf> Steve Bellovin is now the FTC's Chief Technologist and spends his days trying to bring technical sanity to the government in various ways.

</comment><comment><USER15> So companies will have to build in "wiretap friendly" monitoring capabilities into their products in order to facilitate regulatory compliance? Is the government going to subsidize the cost of developing this stuff? Aside from how insidious the requirement seems from a privacy standpoint, it seems to place undue economic burden on businesses from a compliance standpoint.

</comment><comment><USER16> And now I can write a simple greasemonkey script that can encrypt the text send to facebook chat and the other side decrypting it. We just need to be able to exchange keys by other channels - not hard at all.

And on any device with root you can install driver that encrypts the mic signal.

So instead of terrorists we will have technology literate terrorists.

</comment><comment><USER17> 1984... "Freedom is Slavery!" "War is Peace!"

</comment><comment><USER18> I can see why there's a demand for a P2P/distributed routing for voice/video services to get around this as they would require working with multiple ISPs at the least and at most involve some sort of end-to-end encryption.

Wonder if it's possible to implement something like Tor for VoIP.

<comment><USER19> I think the hard part about doing Tor for VoIP would be latency. It would be pretty difficult to have a voice conversation with the sort of latency you'd get from bouncing a connection through a bunch of volunteer computers.

<comment><USER18> Good point. It may make more sense to initiate a connection via multiple routes (node discovery) and then direct-connect securely. Of course that won't prevent anyone eavesdropping of knowing _where_ the call is going, just keep them from knowing _what_ they were talking about.</comment></comment></comment>


Carriers Are Making More from Mobile Ads Than Publishers Are - <AUTHOR> https://medium.com/@robleathern/carriers-are-making-more-from-mobile-ads-than-publishers-are-d5d3c0827b39 <comment><USER2> Things are going to come to a head sooner rather than later. People are more and more talking about how bloated and slow web pages have become. Now we have ad blocking thrown into the mix.

Consumers are tired of big, slow web sites with intrusive ads (non-intrusive, people seem to be more ok with).

Web pages need to go on a diet. Lighten the size of the frameworks. Don't use so many hi-res images (and heck, what ever happened to text only pages!? They can be gorgeous too!). Use more sensible advertising. Just generally optimize the size and speed of the web page.

<comment><USER3> > Things are going to come to a head sooner rather than later. People are more > and more talking about how bloated and slow web pages have become. Now we > have ad blocking thrown into the mix.

I remember people talking about this since the late 1990s.

<comment><USER4> In the 1990s Apple didn't have leverage over the web like they do now and not being an internet company that makes money from ads, their incentives are aligned with combating this more than ever.

<comment><USER5>
      > their incentives are aligned

They sure are. Apple sells native ads which, naturally, they do _not_ allow users to block. [http://advertising.apple.com/](http://advertising.apple.com/)

<comment><USER6> And how does that apply to the web?

<comment><USER3> Well, if advertisers can't reach customers via web ads, where do they turn?

</comment></comment></comment></comment></comment></comment><comment><USER7> This is a weird comparison though since they're separate issues.

When you go to a theater, the cost of driving/gas can be more than the movie ticket. It's up to the user to weigh the costs.

I think this really highlights the mobile data ripoff that currently exists more than ads/cruft but both are real problems, just orthogonal. Then again the majority of mobile data is over wifi anyway so it's not as bad as it seems.

Zero-rating / sponsored data does seem to have some potential applications here though. Not many scenarios yet but might become more common.

<comment><USER8> I think this is slightly different, in that mobile ads demonstrate an explicit market inefficiency (it is in the interest of both the user and the publisher for the user to pay directly for content, instead of being served ads).

</comment></comment><comment><USER9> Wow. So, if we work out a way for carriers to fund content (in return for increased marginal data consumptiom) then we can ditch the ad-funding model?

<comment><USER10> Isn't this exactly what net neutrality is fighting?

<comment><USER11> I thought it was fighting the reverse: content creators/publishers pay to have priority access to consumers. Or is it fighting both directions?

</comment></comment></comment><comment><USER12> Big miss in the methodology here. (CTO of a MVNO, watching data usage and pricing trends is a huge part of my day)

Those plans and costs ignore that at least a third of the US is on far lower cost plans from MVNOs, CSEs (Carrier-Sponsored Entities), various prepaid plans, as well as T-Mobile and Sprint.

They also absolutely ignore the fact that there is an additional talk and text price embedded in those. It's very techie to assume that the cost per MB for a plan is just total cost/Mb; the reality is that you easily have to figure $20-30 for the actual phone part of the plan.

Personally, I'd prefer to give subscribers far more value from their plan; advertising isn't the only problem. Many video apps default to greedy mode; pulling as high quality video as possible; without consulting or making it easy for users to requests lower bandwidth streams. Add that to FB video auto stream which just eats up bandwidth by scrolling through your news feed (and has had at least two separate places to turn it off- making harder to educate users) - and you have a trend of content and app designers assuming wireless connectivity is a commodity and unlimited for all.

Many, many people have smartphone plans with less than a gig of data because that's what they can afford - and the ecosystem devalues the actual experience of that gig more and more.

</comment><comment><USER13> What I find amusing about this is that in addition to taking the money on the table by serving mobile ads, the carriers are also charging their customers for "data".

All the mobile ad and other cruft just increases the amount of data used by the customer.

Imagine if customers were only charged for the actual content. Is CSS, fonts and Javascript "content"? I guess it depends who you ask.

As a user, I rarely turn on Javascript, yet I still download heaps of it (then filter it out client-side). For me, this is totally unnecessary data usage.

<comment><USER14> it is no different then cable TV. You pay to watch all those commercials. In Canada the largest Carriers also happen to be Cable providers.

<comment><USER15> It's a little different - in effect, the amount of TV I watch has no impact on the cost to me from my cable provider.

In this case, the more ads you consume, potentially the more you pay from your wireless carrier.

<comment><USER16> A way to look at cable TV is like a buffet. Everything is paid for in advanced. In a buffet, you can eat until you bust and the restaurant would still break even with the food cost at worst. Most cases, profit. The rest of users always make up for the revenue 'losses' caused by a small set of anomalies. This double income from ads and data only happened because your carriers were allowed to get away with placing data caps on wireless. In some distance past, we used to get limits on broadbands too, remember?

</comment></comment></comment></comment><comment><USER17> > That's an average of $22.92/Gb or $0.0224 per megabyte

That is surprisingly expensive:

I live in Germany and pay monthly 10 Euro per 1.5GB - that's 6.7 Euro per GB or about 7.5 USD per GB ...

And that's not even a contract but prepaid on monthly basis.

Actually I could get 5 GB for 15 Euro thats 3 Euro or 3.4 USD per GB.

Is mobile traffic really about 5 to 6 times more expensive in the US?

<comment><USER18> Depends how you count it. The pricing structure of cell phones is pretty unfriendly in the US.

You can get a 1GB plan from T-Mobile for $50; or a $3GB plan for $60 or 5GB for $70 or unlimited for $80. [1]

So, the average cost is close to that $22/GB number, but the marginal cost is closer to $5.

You can find some prepaid voice+data plans, but their prices are not particularly competitive in the 2GB range.

I did find some cheaper data-only plans from T-Mobile at $10/GB[2], but that's not really what people are buying.

[1] [http://www.t-mobile.com/cell-phone- plans/individual.html](http://www.t-mobile.com/cell-phone- plans/individual.html)

[2] [https://prepaid-phones.t-mobile.com/prepaid-internet](https://prepaid- phones.t-mobile.com/prepaid-internet)

<comment><USER19> The so called Walmart plan is cheaper:

[https://prepaid-phones.t-mobile.com/other-prepaid-plans](https://prepaid- phones.t-mobile.com/other-prepaid-plans)

(And fairly popular as prepaid goes)</comment></comment></comment>


The Bourne Shell Source Code - <AUTHOR> https://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/src/cmd/sh <comment><AUTHOR> This is the source to the original Bourne Shell, shipped in Research UNIX v7. You've probably used GNU Bash, which stands for "Bourne-Again SHell."

The Bourne sh is significant for a few reasons. Primarily, its GNU descendant is now installed on billions of devices.

Perhaps of more interest: Bourne's sh source code heavily abuses C macros to look and feel like ALGOL-68. This is made more significant because it came before C was standardized: it took real knowledge to abuse _that_ much.

While this is C that compiled just fine for the day, and might compile _mostly_ without errors for a compiler with a K&R compatibility mode, it's absolutely wild, and is written compensating for some of K&R's faults (see how it handles true v. false).

I recommend mac.h as a file of particular interest:

[https://www.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd/sh...](https://www.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h)

Bonus points to anyone who understands what these three lines are doing within it:

         #define LOBYTE 0377
         #define STRIP 0177
         #define QUOTE 0200

Also of interest:

This was specifically the reason that the International Obfuscated C Code Contest was created, started just minutes after seeing Bourne's sh for the first time (I'm sorry for formatting this as code block, but the formatting breaks otherwise):

         Q: How did the IOCCC get started?
         A: One day (23 March 1984 to be exact), back Larry
        Bassel and I (Landon Curt Noll) were working for National
        Semiconductor's Genix porting group, we were both in our
        offices trying to fix some very broken code. Larry had been
        trying to fix a bug in the classic Bourne shell (C code
        #defined to death to sort of look like Algol) and I had been
        working on the finger program from early BSD (a bug ridden
        finger implementation to be sure). We happened to both
        wander (at the same time) out to the hallway in Building 7C
        to clear our heads.

         We began to compare notes: ''You won't believe the code
        I am trying to fix''. And: ''Well you cannot imagine the
        brain damage level of the code I'm trying to fix''. As well
        as: ''It more than bad code, the author really had to try to
        make it this bad!''.

        After a few minutes we wandered back into my office
        where I posted a flame to net.lang.c inviting people to try
        and out obfuscate the UN*X source code we had just been
        working on.

<comment><USER2> > Bonus points to anyone who understands what these three lines are doing > within it:

         #define LOBYTE 0377
         #define STRIP 0177
         #define QUOTE 0200

That's just 0xff, 0x7f and 0x80 in octal, and the high bit used to be a flag for all kinds of "magic" behaviour back when 7-bit ASCII was the norm...

<comment><USER3> I find myself validating a lot of input to be ascii still. I think its time to write a lib to make use of all those wasted bits.

<comment><USER3> I signed the above post with an emoticon that does not render? Could it be that hn is not 8bit safe?

<comment><USER4> HN filters out emoji (well, most of them, the blacklist appears to be incomplete)

<comment><USER5> > the blacklist appears to be incomplete

I was under the impression that the emojis that are not blacklisted are intentionally whitelisted.

For example, all of the flag emojis are possible to use. That seems to be no coincidence.

There are a few others that are possible to use as well, most of which appear to be logically grouped together.

For example, multiple emojis relating to time are possible to use.

The flags make sense I think. And I could see the ones relating to time being sort of relevant in post titles about time management for example.

For some reason, some of the symbols resembling media playback controls are possible to use too.

I don't see any reason for the media playback controls symbols to be available (while so many others are blacklisted I mean), but it does make the following possible though:

"This is so sad. Alexa, play Despacito 2."

Now playing: Despacito 2 (feat. Eminem)

⏯ ⏮ ⏭ —————————○—————— (2:01 / 3:14)

Not that there is any immediate practical use of that of course.

I think it would be interesting if the mods would comment on which emojis and other symbols outside of human writing systems are available and if indeed that is intended or not, and if intended what they are expecting people to use them for and why they decided to whitelist exactly those that they did while still blacklisting a few of the other ones that might be useful.

It might just be like you said also though, maybe they explicitly blacklisted some symbols only and then more symbols were introduced later and the blacklist was never updated to include those.

<comment><USER6> Flags work also: 🇯🇵 🇰🇷 🇩🇪 🇨🇳 🇺🇸

<comment><USER3> Techies at theregister.co.uk told me mysql cant persist some types of utf8 chars in their forums. Its not deliberate but common emojis dont work there too. Anyone know if HN uses mysql?

<comment><AUTHOR> News, the software behind HN, doesn't, no. The filter for emojis is deliberate.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Back when I was writing C compilers the Bourne Shell was my nemesis. The Bourne shell did exercise nearly every "feature" of the C language. Compiling and then running the shell was a great test case for an optimizing compiler and turned up many bugs. But, when the compiled code failed, winding back to the underlying C through the all of the macros and optimizations was exceptionally difficult. I still remember many a late night trying to figure out what happened. (Thanks Steve, for many fascinating hours of struggle.)

</comment><comment><USER8> As someone who used the C preprocessor to generate CPP, Java, and C# from a common source in order to have a common library for native apps, I always appreciate a good bit of preprocessor abuse - it's one of the things that makes C so much fun!

<comment><USER9> My favorite idea of an extreme preprocessing is using C itself as the preprocessor language, with, optionally, the only syntactic sugar being provided by ASP-like brackets.

</comment></comment><comment><USER10> I'm another who recalls this mess being used (1990 or so) as the acid test for C compilers, source code analyzers and debuggers. I can still picture the look of pride on a certain salesman's face when he demoed a valgrind-like tool for us that didn't just crumble to pieces when asked to chew on this tangle.

</comment><comment><USER11> The whole program trusts definitions in mac.h [1] like:

        #define IF if(
        #define THEN ){
        #define ELSE } else {
        #define ELIF } else if (
        #define FI ;}

        #define BEGIN {
        #define END }
        #define SWITCH switch(
        #define IN ){
        #define ENDSW }
        #define FOR for(
        #define WHILE while(
        ...

Isn't it nowadays considered bad practice? After taking a glance at the code, I see there might be some advantages like not forgetting to add missing {}. Is there any other explanation on why they created a dialect on the top of C using the preprocessor?

[1] [https://www.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd/sh...](https://www.tuhs.org/cgi- bin/utree.pl?file=V7/usr/src/cmd/sh/mac.h)

EDIT: fix English

<comment><AUTHOR> Bourne liked ALGOL. A lot. So much that he was one of the few people who wrote their own ALGOL-68 compiler. Using the preprocessor to feel more at home is a pretty good idea in this case.

This wasn't particularly popular to anyone who wasn't, well, Bourne, even at the time. I posted an example here: [https://news.ycombinator.com/item?id=22199664](https://news.ycombinator.com/item?id=22199664)

</comment></comment><comment><USER12> Interestingly, [https://news.ycombinator.com/item?id=22188704](https://news.ycombinator.com/item?id=22188704) , with similar techniques reinvented 4 decades later, was on Hacker News only yesterday.

<comment><AUTHOR> The technique of macroing C to death to look like another language never died! It's still a very popular thing to do, but it's gotten a bit less wild now that C has been standardized to death.

<comment><USER13> I remember in college some friends of mine decided to macro C into really bad fake German. Think 'inten mainen" and 'printenoutenf'.</comment></comment></comment>


We received a developer terms violation notification. Here's the result. - <AUTHOR> http://droid-blog.net/2014/03/13/we-released-flying-knight/

<comment><USER2> "title and/or description attempts to impersonate or leverage another popular app without permission"

A. Show me the game - It doesn't exist anymore.

B. Flappy bird wasn't original to begin with, so will Dong Nguyen receive the same notice when he reinstates his version? The helicopter game is almost 15 years old.

C. I love how google selectively polices stuff. I'm not sure how this qualifies as one of those times. I heard rumors of flappy clones being removed due to malware. That's fine, but flappy knight?

<comment><AUTHOR> A. It's the same as Flying Knight, only the name changed. B. No it wasn't. The helicopter game is a clone as well. C. What's interesting to me is that google accused us of violating this policy: [https://play.google.com/intl/en/about/developer-content- poli...](https://play.google.com/intl/en/about/developer-content-policy.html) which doesn't seem to fit. What would be more fitting is this one: [http://developer.android.com/distribute/googleplay/policies/...](http://developer.android.com/distribute/googleplay/policies/spam.html#keyword- spam).

<comment><USER2> C. It's interesting how you were seemingly hand-picked. I've seen more than a few apps. with flappy in the title and description. My guess is someone hit the report button and said their app was being violated. I'm not sure how though, because "flappy" isn't trademarked, describing gameplay similar to another game shouldn't be against TOS, and I doubt you were spamming. For the takedown, Nguyen would have to basically file those requests and point them to the original app.</comment></comment></comment>


Lies, Damn Lies, and the Number of Sexual Partners - <AUTHOR> http://in-theory.blogspot.com/2007/08/lies-damn-lies-and-number-of-sexual.html

<comment> daniel-cussen This just proves what everyone knew all along...unless there truly are a few super-prostitutes that make the median go up to 7 for men.

<comment><USER2> A _few_ people at either extreme wouldn't make the _median_ go anywhere, that's the whole idea of using median instead of arithmetic mean. Probably this explains the difference between genders: say three women have 1,5 and 9 partners, while three men have 0,0 and 15 partners, the means are 5 in both cases, but the medians 5 vs. 0.

</comment></comment><comment><USER3> shouldnt this be on reddit. and not here?</comment>


Coronium Lua Server - <AUTHOR> https://coronium.cloud/ <comment><USER2> Will be interesting to see if this gets any traction. The main pages have good info, but the blog only has one post (July). (It also has some weird background vs text issues)

And while they tout "game server" docs are pretty clear that it's turn by turn. But if the transactional support works the way they say it does, could be a winner.</comment>