GitMarket: The right way to sell code - <AUTHOR> https://git.market/ <comment><USER2> Hi! I'm Francis Perron, co-founder of GitMarket. I am the designer and front- end developer.

GitMarket is a marketplace for developers by developers, where you can sell your code or buy someone else code.

We were tired of current marketplace who sell code in zip format, which is not convenient. We think Git is a better way to do it, just like open source with GitHub.

We need the community to make this project successfull, so please signup, share, like and feel free to ask questions, I'll do my best to answer everyone!

Thank you :)

<comment><USER3> Any special offer for hacker news folks ;)

<comment><USER4> i saw on their web site that beta signups get reduced fees from 30 to 15% :)

</comment></comment></comment><comment><USER5> Hi HN, CTO here.

I'm so proud to see my work here on the only news site I read daily! We are here to answer your questions if you have any and don't forget to subscribe to the beta.

Have a good day!

</comment><comment><USER6> How is a 30% cut low? 30% is standard, and therefor not low.

"Earn 70% On Each Sale

We keep our fees low so you can get more"

<comment><USER5> In fact 30% for non-exclusive content is lower than Envato. [http://themeforest.net/become-an-author](http://themeforest.net/become-an- author)

I totally agree that 30% is a base standard here but we plan to push the fees as low as we can (by giving you multiple payment providers and checkout options), we also plan to lower the fees to all beta subscribers and finally we also have lower withdraw fees (way lower than 25$ for a SWIFT transfer).

Thank you for you interest!</comment></comment>


World of Warcraft now offered for free (up to lvl 20) - <AUTHOR> http://www.bbc.co.uk/news/technology-13973145

<comment><USER2> The first one's free, kid.</comment>


7 Things You Can Do to Become a Better Developer - <AUTHOR> http://www.huffingtonpost.com/alex-ivanovs/7-things-you-can-do-to-be_b_5835150.html

<comment><USER2> Port a program / library from one language to another. It's great fun. Make sure you know one language well, and the other not so well.

I'm having fun at the moment porting Flash and Javascript games to Objective C (sometimes using the Cocos2D framework, sometimes not)

Porting is great because sometimes it's mindless grunt work (just map functionX to function Y) and sometimes there's more important considerations. If I'm feeling lazy or tired I'll stub out the hardest stuff and come back to it later when I'm more alert.

Good fun!

</comment><comment><USER3> this should read "7 things you can do to become a better person" from my point of view it doesn't really apply to development.

<comment><USER4> 1 through 3 is: travel, read books, and write books. This is not helpful to a developer.

Plus, the number 7 should not be in the title.

</comment></comment><comment><USER5> Surprised to see that gaming is not on there. Studies have found that gamers have an enlarged cingulate gyrus in the brain. This structure has been linked with impulse suppression, so this should help us resist the impulse to do things the wrong way!</comment>


Islamic State has shifted to Telegram from Twitter - <AUTHOR> http://www.bbc.com/news/world-middle-east-34478695 <comment><USER2> No. Nope. Not true. Mostly, anyway.

Follow [https://www.reddit.com/r/syriancivilwar](https://www.reddit.com/r/syriancivilwar), look at some of the links from Twitter and click around a bit and you'll find plenty of IS sympathisers.

However, Twitter is fairly active in shutting them down nowdays. What most do is keep a Tumblr with a link to their Twitter account, and link their Tumblr from Twitter. Then when one shuts down they can reestablish from the other.

I'd be surprised if IS aren't using Telegram though. They are pretty active on every other social platform.

<comment><USER3> While I really do understand the logic and reasoning for censoring hate, vitriol and those sympathizing with such movements; overall I do not think this is taking humanity down a good path.

Consider that the US and Israeli Governments are responsible for _far more_ loss of innocent lives per year than any of these terrorist groups. Except here it's framed in the _fight against evil_ , _protect the people_ , _spread democracy form_ which I guess makes it okay?

When it comes down to it if we accept that our platforms for discussion of the world around us are to be limited to the _good_ forms (someone will decide for you which forms are good) than the terrible world has already won, and to me personally it makes no difference whether the innocent are dying by military sanction of some general's order or due to the influence of some crazy preacher.

<comment><USER4> > Consider that the US and Israeli Governments are responsible for far more > loss of innocent lives per year than any of these terrorist groups.

That might possibly be true of the US government, given it's at war in plenty of places, but AFAIK israel is only in one theater, and the death toll among palestinians in 2014 (the highest number in recent times) was reportedly 2300[0]. Citation needed?

ISIS is reported to have killed a lot more people.

Also, israel mostly states "we will defend ourselves", and so does the US. As much as that might be BS, it's not as bad as ISIS explicitly stating it wants to erase other cultures.

[0] [http://www.theguardian.com/world/2015/mar/27/israel-kills- mo...](http://www.theguardian.com/world/2015/mar/27/israel-kills-more- palestinians-2014-than-any-other-year-since-1967)

<comment><USER5> Yep the entire Arab-Israeli conflict with all of it's wars cost less lives (on both sides) during the past 70 years than one year of the Syrian civil war. When it comes to loss of lives the Arab-Israeli including the conflict with the Palestinians is pretty much a non-issue compared to other conflicts that happen all the time in the world.

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

The problem like always is media focus and over-reporting, I've met actual people that believed that Israel killed millions of Arabs, I've have gotten figures that were higher than 10M from some people and they even quoted "sources".

Same goes for the war on terror people said that the US killed more people than the German in WW2 and some of them actually believed it.

And this is a big issue it's hard to discuss a conflict that people think costing millions of lives where in actuality only about 24,000 people (both sides) died in since 1948, and once you've settled in your own little world of millions of deaths it's hard to take in numbers that are less than a football game.

</comment></comment></comment></comment><comment><USER6> I know what the inference is here: give me your back doors, encryption is only for evil people.

However you could say the same for electricity, GPS, phones, guns etc.

</comment><comment><USER7> "Telegram itself suggests it will take down illegal material"

What does illegal material mean? I guess Germany has lesser free speech than the US, but still it's a messaging service after all.

I wonder were Twitter draw the line. They outright welcome many state actors that rival IS if not in scale at least in means. Maybe the line is drawn for them by some friends from the state department?

<comment><USER8> Indeed.

It also begs the question of how will the scan for "illegal material"?

</comment></comment><comment><USER9> I didn't think group messages on Telegram had any special security.

<comment><USER10> According to the article they are planning to use Telegram channels (which is more like a broadcast list in whatsapp), and not group chat. Doesn't seem like it's meant for internal communication, so I guess that security isn't a top priority for this purpose.

</comment></comment><comment><USER11> If this isn't proof that Twitter's business model is doomed then I don't know what is. It would be like the Taliban announcing they'll no longer use Toyotas.

</comment><comment><USER12> The US government allows the Isalmic State to exist, from providing them training, Toyota trucks + enabling the "black market" sales of oil

all this is mostly fear mongering

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

</comment><comment><USER13> Do they know Telegram is not encrypted E2E by default?

</comment><comment><USER14> Rather convenient that this news comes out at the same time that Obama says he won't ask for keys to encrypted data.

<comment><USER15> A: Telegram has no intentional back doors. Any malice on the part of Obama has absolutely no relevance here whatsoever. If you want to disprove me feel free to audit the source[1]. Nobody would have ever been able to ask for keys in the first place, hence, the reason it was purportedly chosen by IS.

B: That's pure conjecture and is a conspiracy theory.

[1]: [https://telegram.org/source](https://telegram.org/source)

<comment><USER14> This isnt about Telegram. It's about BBCs decision to report on IS and what theyre doing. Youre clearly not familiar with IS history. IS was armed and supported by the US (do your research) and the BBC is well known as a US mouth piece. Looking at this as a purely tech debate, one of conjecture or a conspiracy theory is incredibly naive.

<comment><USER15> Here are the HN guidelines [1].

> This isnt about Telegram.

Yes it is: the article is about Telegram and _you yourself_ bought up cryptography keys. You implied that Telegram had some unsubstantiated correlation to the Obama administration (regardless of what _previous_ administrations have done). You're veering wildly off-topic into a typical flamewar topic with no evidence, as well as asserting without justification that I am clueless about IS.

> [1]: Please avoid introducing classic flamewar topics unless you have > something genuinely new to say about them.

That is to say, it's probably best to be done here.

[1]: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

</comment></comment></comment></comment><comment><USER16> Could we stop propagating them? There is no 'state', it is just part of desert with bandits in pickups. And BBC should not give hints where to find latest propaganda. It is like reporting 'piratebay.com' domain is down, use 'piratebay.xyz'

<comment><USER17> I'm not sure if the article been updated since you had a look, but the first line of the article refers to the Jihadist group as the "so-called Islamic State".

Also I think there is a public interest in knowing that Daesh is apparently switching communication platforms. If there's been an effort to reduce/remove Daesh from Twitter, why couldn't there be a similar strategy with Telegram?

You seem to be advocating the security-by-obscurity line, in regards to propaganda. It's out there, and if people want to find it, they don't need to look far.

<comment><USER16> 'So called' disclaimer is on almost every BBC article. But it is media like BBC who spread this name in first place.

Compare IS with 'Kurdistan'. It is a 'state' somehow similar to IS, but it gets completely different treatment.

And they gave step by step manual: Go to app store, install Telegram, search IS channel.

<comment><USER11> In the Falklands war, the BBC broadcast that the Argentine air force were setting their bomb fuses wrong and their bombs weren't exploding when they hit British ships, and also pre-announced the attack on Goose Green. They're well known for playing both sides against the middle.

<comment><USER18> I have read that the Goose Green incident was actually caused by a MoD official releasing something too early - they were just passing on the message.

The thing about the bomb fuses was a horrendous mistake "six better fuses and we would have lost" - particularly as there was nothing wrong with the fuses and the Argentinians could have easily fixed this by a simple adjustment.</comment></comment></comment></comment></comment>


Python vs. Node vs. PyPy benchmarks - <AUTHOR> http://blog.kgriffs.com/2012/11/13/python-vs-node-vs-pypy-benchmarks.html <comment><USER2> Don't miss this follow-up post, though:

[http://blog.kgriffs.com/2012/12/18/uwsgi-vs-gunicorn-vs- node...](http://blog.kgriffs.com/2012/12/18/uwsgi-vs-gunicorn-vs-node- benchmarks.html)

<comment><USER3> Graph 3 as a log y chart would've been nice.

</comment></comment><comment><USER4> I'm actually quite perplexed as to why the blog author chose to use the WSGIRef which is known to be one of the slowest of the bunch according to this much more thorough benchmark:

<http://nichol.as/benchmark-of-python-web-servers>

Even more perplexed, why wasn't the payload and the WSGI apps sources published?

<comment> robert-zaremba Your observation is good. Author should clarify this. But in his next articles he shows benchmark against other web frameworks, which shows more justified results

<comment><USER5> That doesn't really answer why use the slowest one with PyPy (and no, uWSGI does not work for PyPy, but a lot of stuff does)

<comment><USER6> uWSGI works with PyPY (Obviously with lot of limitations on the features). <http://projects.unbit.it/uwsgi/wiki/PyPy> The problem is that for the vast majority of the webapps there is (still) no advantage. I only wanted to focus on that as i have invested days on (really complex for me) pypy sources, and i do not want people to ignore it ;)

</comment></comment></comment></comment><comment><USER7> I don't understand why there are no numbers on these graphs. Graphs are pretty pointless if you don't label the axes.

<comment><USER8> It's either fixed or there's a problem on your end.

<comment><USER9> Nope, I don't get any numbers/labels either. Seems like the website is incompatible with a bunch of browsers.

<comment><USER10> He's just using Flot, which a lot of us use for canvas-based charts. Do they work for you at all?

<http://www.flotcharts.org/>

If not, what browser are you using? It would be nice to know if Flot is not compatible with something.

<comment><USER9> iceweasel 10.0.12 (basically the same as Firefox 10.0.12) It ships as the default browser for debian wheezy. The home page of flotcharts.org does work correctly.

I also tried Konqueror Version 4.8.4 (KDE's browser) and it didn't even display the graphs (not in the blog post or on flotcharts.org).

</comment></comment></comment></comment></comment><comment><USER11> This whole test says more to me about the performance of non-blocking MongoDB drivers than it says about the underlying performance of the frameworks/languages. The python tests lacked a non-blocking driver. Why not use the PostGRES drivers ? That would give a much more accurate and fair treatment.

And for the record, I don't care one way or the other which is "faster," just make a damned test where one isn't given such a clear leg up.

</comment><comment><USER12> Another set of benchmarks that shows Erlang's cowboy coming ahead on EC instances. It also compares EC2 vs real hardware and throws more contenders in the mix.

On physical hardware the race is pretty close (except node, python-gevent, but cluster node did very well).

[http://eric.themoritzfamily.com/websocket-demo- results-v2.ht...](http://eric.themoritzfamily.com/websocket-demo- results-v2.html)

<comment><USER13> Yeah, because of cowboy and Erlang's design it is going to out perform a single process evented server hands-down.

      1. The evented servers are bound to one CPU, Erlang will use all CPUs
      2. any bit of blocking code will stall the other code, even it just for a moment.

It is a little unfair to compare the two approaches.

<comment><USER12> I am not sure it will always under-perform with one CPU. It depends if async threads are used and if kernel poll is enabled. Erlang is designed for better low latency response at the expense of _some_ sequential slow down. I wonder if Erlang would scale slower but it will throw less errors as number of requests increases.

EDIT:

Also it would seem benchmarking Erlang and forcing it to run on a single core just like node.js is deliberately handicapping it. One of the strengths of Erlang is exactly the ability to take advantage of multiple cores.

</comment></comment></comment><comment><USER14> Things like this DO NOT MATTER.

Facebook was built on PHP and MySQL, both of which are awful pieces of crap.

Twitter went down like every week for a year. It was written on RoR by people who didn't really know RoR.

Meanwhile, a bunch of better engineers using better technology got their clocks cleaned while the winners eventually had so much money they could afford to hire an army of engineers to rewrite everything.

If you know Javascript really well, use Node (although I feel sorry for you). If you know Python really well, use Python (yay). If you don't know anything, well, pick something. If you are choosing a programming language because of how many QPS you can get on some trivial task, you are an idiot.

You know the graph I would like to see? A scatterplot of how good various startup founders and early team were on engineering vs finding a market fit, with the dots labeled with how rich they are now.

</comment><comment><USER15> Just FYI, in my own tests I've found Node.js performing about 50% better (req/s) than Tornado/C-python, while Tornado/pypy comes very close to Node.js' performance. Tornado is one of the fastest Python web frameworks and does not use WSGI (by default).

The point is that pypy can crunch almost as fast as Node.js, so while Node.js may set the standard, Python is not bad choice either from performance perspective.

</comment><comment><USER16> I am surprised that node.js performs significantly better than python & pypy. Can anyone have some explanation?

<comment><USER17> It depends on the web framework. As the author of the benchmark shows in a later blog post [1], Python+uWSGI can be faster than Node.js

[1] [http://blog.kgriffs.com/2012/12/18/uwsgi-vs-gunicorn-vs- node...](http://blog.kgriffs.com/2012/12/18/uwsgi-vs-gunicorn-vs-node- benchmarks.html) (link originally posted by jdub in this discussion)

</comment></comment><comment><USER18> For Node.js it's a big difference between 1k and 64k files, what about something in between, like 32k files?

</comment><comment><USER19> Red and green side-by-side on a chart... noo :(

<http://jfly.iam.u-tokyo.ac.jp/color/#pallet>

<http://tools.medialab.sciences-po.fr/iwanthue/>

<comment><USER20> IMO its a little bit excessive to ask that every graph generated is color- blind safe...

Isn't there software for colorblind people to correct that? (Something that changes the palette of colors displayed...)

<comment><USER19> Red & green is the stereotypical colorblind test, that's a pretty obvious combination to avoid. It's easy to choose colors that are at right angles in the color wheel, and that's not how accessibility works - you can't require every paraplegic to have a special wheelchair that can climb stairs, despite it existing...

</comment></comment></comment><comment><USER21> Where's the source code? I'd like to see how long it takes someone who doesn't know either language to figure out what's happening in the code (a 'new' kind of response time).

</comment><comment><USER22> If you are using wsgiref don't forget the patch

        __import__('BaseHTTPServer').BaseHTTPRequestHandler.address_string = lambda x:x.client_address[0]

</comment><comment><USER20> I'd love to see something on the JVM against this.

</comment><comment><USER23> Edit: pointed out in other comment

</comment><comment><USER24> Node/V8 is a beast and will dominate web development in few years.

EDIT: Downvote me, I don't care.

<comment><USER25> If the web development industry moves from PHP to JavaScript as the main backend language... well, from quality perspective nothing will change. IMO.

<comment><USER26> If one company gave you a PHP job, and another a JS backend job, and that'd be all you got, would you flip a coin to pick one?

Or is this a way to say that you feel more satisfied with your work in Python than with your work in node?

<comment><USER25> This is my way to say several points:

\- If the majority of our industry can make the switch to JavaScript, they'll ruin it in terms of average code quality.

\- Even good, idiomatic JavaScript code sucks for reasons inherent in the language.

\- I wish people wrote just good enough Python or Erlang or Haskell or whatever code instead of excellent PHP/JavaScript.

So yes, I treat PHP and JavaScript backend jobs equally.

[Edit: grammar.]

<comment><USER24> JS is a modern and beautiful language, comparing it with PHP is bold. People fighting Node are just afraid to change and to start from zero again, they fear the truth.

No other language offers C-class speed, that rich ecosystem (which is fully async) paired with such an easy approachability plus the best and most modern package manager around. Speed is not everything but users won't tolerate unresponsive web services based on sluggish language implementations and cumbersome frameworks anymore, it's not 2005.

Why do you think did Airbnb, LinkedIn and many more choose Node in production for high traffic apps?

Don't get me wrong, Python, Erlang, Haskell are great languages, I love them all but since V8/CrankshaftJIT/Node, JS is playing in a different league with an amazing cost-benefit ratio and I am confused by people ignoring this (however, I see rather Go and Clojure as real contenders to JS since they offer modern language concepts too paired with speed and real concurrency but they are again compiled and deploying JVM based stuff (Clojure) is no fun at all).

<comment><USER27> > deploying JVM based stuff (Clojure) is no fun at all).

In what world is typing "lein uberjar" and moving the resulting file to your webserver considered hard?</comment></comment></comment></comment></comment></comment>


Ask HN: What are some optimal places to live in NYC for 1-3 months? - <AUTHOR>

I am planning to visit NY for 1-3 months while working on my startup and doing some contract work.
Now, what I was wondering is what would be the best place for me to live in terms of housing costs, startup co-working places, proximity to cool places (nice bars, restaurants, music venues), and overall interesting-ness of the area.
I'm not too familiar with NY, but heard Bushwick and Alphabet are interesting places to live that aren't too heavy on the wallet.
I've been looking on airbnb, but most don't offer monthly rates. Any suggestions or ideas?
Oh and if anyone is interested in getting together for drinks sometime, don't hesitate to drop me a line! My email is in my HN profile. <comment><USER2> What's your price range? That will make a very large difference.

<comment><AUTHOR> Great question

1300-1800 a month

Is that actually reasonable?

</comment></comment><comment><USER3> Use Craigslist. I did a crash course in New York by living in 8 different places (7 CL, 1 GF) in Manhattan, Queens and Brooklyn in the nearly 3 years I've lived here. Easy to find furnished places, but they go fast and it will be harder to score a place without a face-to-face meet with the renter.

Manhattan, even Alphabet City, is best if you're an extrovert, like to be able to step out at 3am into a city that still acts like it's 8pm, and like high energy in general. But rents are expensive. If you find something cheap it will be dark, cramped, rough, or all three.

Queens is cheapest. Astoria is nice, and is a quick, above ground (always better) subway ride away from Manhattan. In fact, look at subway time to where you want to go frequently rather than distance.

Brooklyn is either old school or hip depending on which parts. Sleepy compared to Manhattan, but buzzed compared to your average city.

I need to know more about what you want to give advice. Feel free to message me.

<comment><AUTHOR> Thanks for the info.

Craigslist actually have listings for that short term?

Whats your email/contact info, would love to ask a few more qs

Thanks!!

<comment><USER4> Craigslist is definitely the way to go. There's a section specifically for temporary housing. [http://newyork.craigslist.org/sub/](http://newyork.craigslist.org/sub/)

With the price range you mentioned earlier, you can likely afford a room in one of the more desirable neighborhoods.</comment></comment></comment>


Show HN: How I know what my neighbors uploaded on YouTube - <AUTHOR> http://tubenearyou.com <comment><USER2> Looks like this site is just a wrapper around the YouTube search API, which allows you to specify a location to retrieve results from.

From the documentation[0], _" The location parameter, in conjunction with the locationRadius parameter, defines a circular geographic area and also restricts a search to videos that specify, in their metadata, a geographic location that falls within that area. The parameter value is a string that specifies latitude/longitude coordinates."_

Looks like you can add a location to your video in the Advanced Settings panel in the video settings: [http://i.imgur.com/AtnTu7F.png](http://i.imgur.com/AtnTu7F.png)

As far as I can tell, location is not added by default (I tried uploading a video that has embedded location data and that location was not added to YouTube; I would have to add the location manually).

[0]: [https://developers.google.com/youtube/v3/docs/search/list](https://developers.google.com/youtube/v3/docs/search/list)

<comment><USER3> how many products are "just a wrapper"? Why deride someone else's hack?

<comment><USER4> Why infer derision from a statement that needn't necessarily have been?

That something required a small amount of code or effort is valuable information. And actually, among hackers, usually positive.

<comment><USER5> The word "just" (at least with this meaning) trivializes what follows.

<comment><USER4> Yeah, after reading this again I think you're right.

</comment></comment></comment></comment></comment><comment><USER6> I'm pretty impressed by this. It certainly shows a whole bunch of stuff happening near me that I had no idea about.

So, how many videos are typically geotagged on Youtube? Most of them, or just those uploaded from phones and tablets with GPS?

<comment><USER7> Same thoughts here. Nothing really impressive in my case, but since I'm used to think that where I live is pretty boring place it's somewhat relieving to see that there's actually _life happening_ around me.

I guess I should take a walk more often.

</comment></comment><comment><USER8> _Please_ let me middle/right click on videos so I can open them in tabs.

<comment><USER9> I'd far prefer some sort of interface to allow me to _queue the motherfucking videos in the queue-capable viewer of my choice_. VLC has some of these features, though its tendency to catch fire and halt (destroying the queue in the process) is annoying.

<comment><USER10> [https://github.com/rg3/youtube-dl](https://github.com/rg3/youtube-dl)

        1. right-click -> "Copy Link Location"
        2. middle click to paste the link into you shell
        3. run "youtube-dl" on the URL(s)
        4. watch the videos in whatever video player you want

One of these days I should make a quick firefox extension that adds a context- menu option to collapse it down to one step.

You will have to update youtube-dl every time (see the "-U" option) Google decides to change the obfuscation. Also, you may want to try the --list- extractors and --extractor-descriptions options, to see the _long_ list of sites that are supported, which includes support for things like youtube playlists searches.

<comment><USER11> I have a cute setup for playing YouTube videos (mostly music) via SSH from my phone when I'm lying on my bed and too lazy to get up. There's a small CL script which searches YouTube based on a query, then fires up youtube-dl and dumps the raw file to a named pipe. Then, when the header and everything needed for VLC to start streaming is ready, it starts up VLC via its ncurses interface, so I can volume up/down, pause/play and seek if needed from my phone. VLC is nice enough to fire up an X11 window if you give it the right DISPLAY environment variable over SSH, so you can watch the video (even make it fullscreen via the ncurses interface). Once the video finishes playing, obviously, the named pipe and the data is gone---everything's in memory anyways.

These days I'll get to uploading it to GitHub, maybe even turn it into a Firefox extension/Android app. Though it's a little specific to my use case: I have a quality sound system attached to my desktop computer so it doesn't feel right to listen to stuff on my laptop/phone when there is such a great setup lying around. And setting up SBCL and Shelly just to run Common Lisp scripts is a little bit of an overkill.

Sorry for the off-topic, just felt like sharing this bit of my computer-aided laziness :)

<comment><USER9> Hrm, sounds interesting. How are you buffering this, if at all?

<comment><USER11> Well, everything goes through the FIFO pipe. VLC should block on reading if there is not enough data, though I haven't tested it in that case (I have a cable connection so video hiccups don't normally happen). The script buffers the first couple of kilobytes so the header is immediately available, but beyond that buffering should be handled by the kernel. Though I might be misunderstanding your question...

<comment><USER9> I tried writing to a named pipe but youtube-dl griped.

       mkfifo FIFO
       youtube-dl -o - $SOME_URL > FIFO &
       mplayer FIFO

youtube-dl quits:

youtube-dl: error: using output template conflicts with using title, video ID or auto number

<comment><USER11> Hm, this works for me. Maybe try with `-f best`? Here's a minimal working example (just figured out it doesn't even need the header buffering hack I was using so far):

        $ mkfifo FIFO
        $ youtube-dl -f best -o - 6h9vr_xwTj4 > FIFO &
        $ vlc - < FIFO

And VLC plays the video just fine. youtube-dl downloads it from YouTube as the bytes are read() by VLC, so the D/L speed is around 25KiB/s.

Though I assume you can also stream this at full speed by doing a `mktemp` and dumping the data into the file. In my experience, VLC handles files which are still being appended data just fine, but it'll freak out if it reaches EOF before the end of the stream. If your /tmp is tmpfs, which it is everywhere AFAIK, the only difference is that the video is being downloaded in full speed. Alternatively, if your downlink is fast (for instance, 4MiB/s) and you don't mind the slight delay, you can as well download the file wholly as mentioned in one of the ancestor comments.

<comment><USER9> mktemp creates a normal file and stores to disk. The FIFO avoids that, which is why I'm interested.

<comment><USER11> Actually, as I mentioned, /tmp is (AFAIK) everywhere a tmpfs mount, which means these files are kept in RAM and stored to disk only if their pages are swapped.

<comment><USER9> /tmp is _typically_ but not _always_ a tmpfs mount. Presumptions about where files are or aren't actually written to disk given modern virtual memory is ... somewhat fraught.

It also happens that _my_ /tmp is physically allocated.

And named pipes really and truly work differently (though there can still be buffering).

That said, no joy (though I tracked down the issue above -- configfile setting conflicting with commandline parameters, somewhat annoyingly).

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> m-i-l Smallest distance you can select seems to be 5km, and I live in central London, so that's a few million people "nearby".

<comment><USER12> Yep, San Francisco is even worse as you'd expect - <1km option would be nice :)

<comment><USER13> 10m, 100m should work. "Valid measurement units are m, km, ft, and mi. For example, valid parameter values include 1500m, 5km, 10000ft, and 0.75mi."

</comment></comment></comment><comment><USER14> Someone living near my parents looks to have uploaded a hundred or so "chemtrail attack" videos. I honestly had no idea that people in the UK were into that sort of thing, but that's the internet I guess.

<comment><USER15> Funny, just checked near me (I'm in San Francisco), and lo & behold, chemtrails over SF, too! They're spraying everywhere!! ;)

</comment></comment><comment><USER16> All church services and used car sales near me, haha. So, is there any way to get the exact geotagging location, or is this obscured by Youtube?

<comment><USER17> Car dealership and "house for sale" videos for me out in the suburbs of North Texas ;)

</comment></comment><comment><USER18> I'm not sure what should surprise me more. The fact that I'm somehow living at epicentre of Zumba thumpquake or that I was completely unaware of _so many_ women my age in my 1 km radius.

Jokes aside, the sad thing is that YouTube would most likely have locations set by IP. So I'm certain the distances are off. At best this thing can tell me videos from my city. Still a neat hack.

<comment><USER19> This post is currently the only Google result for "Zumba thumpquake". No quotes, even. So I still don't know what the heck it is, but thanks for helping me achieve a Googlewhack. :D

<comment><USER20> Zumba is a dance.

</comment></comment></comment><comment><USER21> So the site asks if it can use my location and I click yes. Safari asks if it can use my location which I allow. I then hit the search button and am dumped into a map of Russia. Oh well. Tried on iPhone and it gives an address in the next town over, but the map shows the pointer in the correct town. What the heck?

<comment><AUTHOR> sorry, that's my bad. I will fix it. For now, please manually pick your favorite places on the map.

</comment></comment><comment><USER22> It's fun! I didn't know YouTube had this functionality.

A few comments:

\- It could use a couple of smaller radius settings though (1km and 100m). Nothing that Chrome Console can't fix but not everyone is a developer.

\- The intro page is a bit confusing, at first glance it might seem like an Android application, "Google Play" button being most prominent.

\- The search bar is a bit short, if you just type the number and street name it's likely you'll end up in a different country or state.

<comment><AUTHOR> Thank you so much for the feedback. I come from a C++ dev, hope you know how hard to be good at Web UI :D. But trust me, it will be better in time.

</comment></comment><comment><USER23> It does not work here, I have a desktop computer with no geolocation capabilities (no wifi), it just shows a white screen below the text.

<comment><AUTHOR> It's a bug when the app can not detect your location. Please manually pick your favorite places in the map for now.

</comment></comment><comment><USER24> It seems strange that it uses HTML5 Geolocation, but still drops me in Russia by default. Are others seeing the same behavior?

<comment><USER25> I'm tethered to my phone and it showed up with my exact address, so no, it worked maybe a little too perfectly.

<comment><USER26> I'm on home broadband and it got it down to my road... does FF cache your location?

</comment></comment></comment><comment><USER27> i built something similar for twitter. [http://student.seas.gwu.edu/~jhaaga/YukOrYay/php/homepage.ph...](http://student.seas.gwu.edu/~jhaaga/YukOrYay/php/homepage.php)

<comment><AUTHOR> It's cool. Hope to see a better version in the future.

</comment></comment><comment><USER28> My wife noticed a typo:

> Specify keyword and radius to get a result near what your want.

s/your/you/

<comment><AUTHOR> thank you so much, sorry for my bad English, I will fix it.

</comment></comment><comment><USER29> Well done, this was pretty neat.

Nearly all real-estate walk-throughs, but found a couple of neat things after wading through those.

<comment><AUTHOR> Thank you so much!

</comment></comment><comment><USER30> Yay - nothing but car dealership videos.

</comment><comment><USER31> Interesting that majority of vids are sales video (car, property, etc.) on many locations I tried.

<comment><USER32> I had this result as well. At first, I thought I was getting spammed but every result for the first few pages were real estate and car dealerships. As noted above, you may have to manually make the location available so that would self select gor these services.

</comment></comment><comment><USER20> lol "travel the world". Don't be so grandiose. The only way to actually explore and travel the world is to set your feet out and get around, learn the language and culture. This is such nonsensical branding.

</comment><comment><USER33> Pretty much nothing but used car ads for me.

<comment><AUTHOR> Please search with some interesting keywords.

</comment></comment><comment><USER34> This is amazing.

<comment><AUTHOR> Thank you so much for supporting me.</comment></comment>


Lessons Learned: How to Effectively Organize a Remote Team Meetup - <AUTHOR> https://www.chargify.com/blog/how-to-effectively-organize-a-remote-team-meetup/ <comment><USER2> Awesome article and tried and true suggestions!</comment>


Show HN: MonkeyLearn 3.0, custom extractors, active learning, new API and more - <AUTHOR> https://monkeylearn.com/blog/introducing-monkeylearn-3-0/ <comment><AUTHOR> We have incorporated active learning techniques to minimize the tagging effort when training machine learning models for text analysis.

Another new major feature are our custom extractors, you can train a sequential machine learning model for text extraction. In simple words I would describe it as training a regular expression to extract data from text :)

We've been trying different sequential learning models like Conditional Random Fields and Recurrent Neural Networks.

Feedback is much appreciated!</comment>


I have a job offer at a startup, am I getting a good deal? Part 2. - <AUTHOR> http://venturehacks.com/articles/job-offer-2 <comment><USER2> It would be interesting if responses to these kinds of questions became "required disclosures" when startups hired new employees that involve stock options.

Would help protect the naive/inexperienced.

</comment><comment><USER3> Fun series. I like that last question.

</comment><comment><USER4> Liquidity prefs can be a good deal more slippery than what is talked about here.

I have seen it preferred not reach par with common shares until the aquisition price was 3x the investment amount.

<comment><USER5> Hi sanj, that is still called a liquidation preference. The article is fine.</comment></comment>


Dissecting a Chinese Knockoff Guitar Pedal - <AUTHOR> http://cushychicken.github.io/dissecting-ts-clone/ <comment><USER2> This is an ad in disguise. First up the pitch: it's the same but _much_ cheaper. Then the teardown and the continuous harping on how fantastic the quality is. Finally, an affiliate link to get you to go and buy it.

<comment><AUTHOR> Hey Jacques, author here. In a way, you're sort of right - I hacked the affiliate program a little bit, mostly to be compensated for my work in ripping apart the pedal and ohming out the PCB. But mostly, I wanted people to know that there's a cheaper alternative to "boutique" electronics that are sold at an outrageous markup. The fact that these are easy to modify is a plus.

Also, I kind of liked the idea of showing off the workings of a Chinese product that's so clearly a ripoff of an American product. (Boss BD-2 Blues Driver, if you're curious.) Granted, that was also a ripoff of the TS808. And, I'll admit that something is lost in the spirit of the effort, since no one in China gets hung up when you take their design, improve it, and resell it.

I appreciate the critique; thanks for reading - I'm a fan of your blog!

<comment><USER2> Maybe you could include a bit on what it actually sounds like, that would make it a lot more informative. It's not as if people buy these as sources for parts, they buy them to give them a specific sound.

<comment><AUTHOR> That's the plan, once my noise-sensitive neighbor is gone for the weekend. :)

Here's an example of what the stock one sounds like if you're curious. [https://www.youtube.com/watch?v=cqPaL0vfVwU](https://www.youtube.com/watch?v=cqPaL0vfVwU)

<comment><USER2> The problem with promoting the product that you review is that your review skews towards the superlative approval. If you reviewed it without the affiliate link you might have added more balance to the article. That's a real risk when you're trying to make money of the things that you review and I don't know of a good way to both 'maximize your take' and 'be objective' at the same time. If I ever reviewed a product I would definitely not try to make money of that particular product.

<comment><AUTHOR> That's fair. I have some experience in manufacturing engineering; in retrospect, I got a little too excited about how it was designed to be put together in mass quantities. After rolling it around in my hands for a few weeks, I've noticed a few warts in the circuit board - extra flux around the solder pads, a PCB throughhole that was a little too close to the board edge, and got a little shorn when the PCB was milled out, other little things like that. In all honesty, there's nothing really superlative about the electronics themselves. The JRC4558 is a really, really old opamp. It was brand new around the time The Who were getting airlifted to Woodstock.

I shot you an email about some of the other aspects of the article that I didn't want to write about in open air. Check your inbox!

<comment><USER2> Hm, I did and there is nothing in it, let me dig into spamassassin and see if it got dumped for some reason.

Ok, checked the spam. Nothing. Did you spell it right? firstname.lastname@example.com

<comment><AUTHOR> This apparently got stuck in my "Outbox" folder, so it never got sent. I'll pass it along tonight - this is turning into one of those workdays that became really busy all of a sudden.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER3> Haha... I have that _exact_ pedal on my board. Overall, not bad if you want something cheap... Couple of complaints: Things get muddy fast, you really have to pair it with a compressor to control your input volume for things to be any good. Next, there's a massive volume difference between the hot and warm modes. You can't flip between them without need to adjust the volume knob. Finally, there's a distinct lack of bass in the "hot" mode. Other than that, it's not terrible, just don't expect a ton and it's not too bad!

<comment><USER4> Does the original have the same issues?

<comment><USER3> Not exactly... It might be my hum buckers causing the muddy sounds well then volume gets too hot. I don't have a TS808 I can compare apples to apples with.

The volume change problem and the lack of bass aren't problems for the TS808 because it was hardwired for the "warm" mode with no selector switch. Google is telling me the Boss BD2 doesn't have the toggle switch either.

</comment></comment></comment><comment><USER5> That actually looks really well made for a Chinese clone. I know the no-SMD and no-switches-on-the-board zealots won't agree, but the design is clean and solid. I was expecting a rats nest.

Also, I used these sources for my work on a digital emulation of the device:

[http://www.geofex.com/article_folders/tstech/tsxtech.htm](http://www.geofex.com/article_folders/tstech/tsxtech.htm) [http://www.bteaudio.com/articles/TSS/TSS.html](http://www.bteaudio.com/articles/TSS/TSS.html)

<comment><AUTHOR> Geofex was a huge inspiration for my first article on the TS808.

Have you seen Electrosmash's rundown? That's some next level guitar pedal analysis. [http://www.electrosmash.com/tube-screamer- analysis](http://www.electrosmash.com/tube-screamer-analysis)

</comment></comment><comment><USER6> The biggest unanswered question is how does it sound?

You should resize the pictures before uploading - I was wondering why they took so long to download, and realised each one was >4MB! The full-resolution version is not that much clearer, they are 15MP but look as though there was a watercolour-like effect applied to them.

<comment><USER7> The telltale sign of a small sensor. A great example of how a larger file (in MPs) can look worse - taken on even a 10mp DSLR the pic would look substantially better.

EXIF says it was taken by a Galaxy S5.

<comment><USER8> A small sensor and not enough light hitting it.

</comment></comment></comment><comment><USER9> Should we even call these "knockoffs" anymore. By now, the tubescreamer circuit is practically mythological in guitar hacker circles. There are thousands of builds from one-off basement projects to commercial runs like this. It's more like a retelling of a favorite story.

</comment><comment><USER7> My favorite part:

> _Just for completeness 's sake, I included a quick ohm out of the_ [EOL]

It's like an existential statement of some kind.

<comment><AUTHOR> That's what I get for pushing these out at half past midnight. Even thought it made for a really nice meta statement, I updated the post to finish my thought.

Thanks for pointing it out. :)

</comment></comment><comment><USER10> Nice, hadn't heard of Donner before.

I've got a bunch of chinese pedals (by Mooer, Joyo, Moen) based on Boss etc classic pedals of yesteryear - they have been solid performers so far.

Wish the Chinese brands got into repro analog synths next :)

<comment><AUTHOR> As it turns out, Joyo and Mooer are produced by the same company as Donner.

I think the Joyo Tremolo is going to be my next subject for experimental surgery. [https://www.geartree.com/p/joyo-jf-09-tremolo-effect- pedal-u...](https://www.geartree.com/p/joyo-jf-09-tremolo-effect-pedal-us- dealer?gclid=Cj0KEQiA7rmzBRDezri2r6bz1qYBEiQAg- YEtqcGxJKPWXR6tcOcGEO2nZDLJ59NPo4j0-s6Je8uS8caApCx8P8HAQ)

</comment></comment><comment><USER11> Is this one sold by Monoprice similar/same as well?

[https://www.monoprice.com/product?c_id=115&cp_id=11501&cs_id...](https://www.monoprice.com/product?c_id=115&cp_id=11501&cs_id=1150108&p_id=611600&seq=1&format=2)

</comment><comment><USER12> >...just some simple emitter followers with half-rail bias to maximize dynamic range of the buffer, and cap isolation to stop any nasty clicking or popping from circuit switching.

Yeah, I don't think that's what the caps are for...

<comment><AUTHOR> On the input side? Absolutely! That 2.2M/330nF combo is a really low value highpass filter to keep any DC adjustment transients from a level mismatch out of the audio chain, which would result in one of those nasty loud "pops" you hear when you unplug a circuit. It's also serving to set the DC bias point of the input transistor without loading it down from the 2.2M pulldown.

<comment><USER12> On the latter part we agree.

<comment><AUTHOR> Well, what am I missing here? Don't leave me in suspense! :)

</comment></comment></comment></comment><comment><USER13> Weirdly, he does not compare its sound to that of the cloned pedal her refers to (Tube Screamer and its close relatives).</comment>


Using the Web for a Day with JavaScript Turned Off - <AUTHOR> https://www.smashingmagazine.com/2018/05/using-the-web-with-javascript-turned-off/ <comment><USER2> Back in 2006/7 I remember we'd use "progressive enhancement" to make a site work without JavaScript and then add JavaScript enhancements for those who had JS enabled.

At some point (maybe after the popularity of Google Maps?) nobody wanted progressive enhancement and it was totally cool to just ignore users who had JS turned off. It made web app development so much easier, but probably less user friendly.

It feels like JS is a hammer to fix the nail of the page reload. I always thought it was too bad that browsers choose to show the blank page instead of sending the request and just rendering the difference themselves.

<comment><USER3> It does make development easier, and at some point it just doesn't make sense to support any longer.

If the number of people who visit your site with JavaScript disabled is less than the number of people who visit using the Opera browser, does it really make sense to add [number of supported browsers] x [JS on | JS off] permutations to your testing workload? Is spending the time and resources on creating a non-JS site worth it, or would it better spent somewhere else (usability, accessibility, etc.)? Everything is a trade-off.

I personally feel the JS ship has long sailed. I'm more worried about the recent trend of sites not even working in Firefox anymore, just Chrome. That is definitely a bit sad.

<comment><USER4> > _If the number of people who visit your site with JavaScript disabled is > less than the number of people who visit using the Opera browser, does it > really make sense to add [number of supported browsers] x [JS on | JS off] > permutations to your testing workload?_

If your site doesn't work for people with JS disabled, you're unlikely to see significant traffic from people with JS disabled.

<comment><USER5> Also, if you use JavaScript trackers instead of server logs, guess which group won't show on those trackers at all...

<comment><USER6> Most trackers have a way to handle non-JS clients by rendering a tracking pixel - a solution that has been out there for a long time now.

<comment><USER7> Last time I checked, the default embed code provided by Google Analytics (which covers 99% of website stats) was a single script tag.

</comment></comment></comment></comment></comment></comment><comment><USER8> Install uBlock Origin and do it every day!

I block all JavaScript, then re enable it when needed to fix a site.

Often I just need to enable 1st party scripts in the uBlock Origin grid to fix it.

Make sure you enable advanced mode to see the grid.

<comment><USER9> If you're serious about giving this a whirl, uMatrix is even better for fine- grained control. I disable everything except first-party images and CSS by default and it's like a whole new internet.

There's a bit of a dance you have to get used to when things don't work, but I've got it into muscle memory now so I don't even think about it. I tend to click around in there enabling the first few obvious things for about 3 seconds, which works 95% of the time, and for the the remaining 5% the URL gets copy-pasted into Chromium.

Wait, what are all these floating obstructions? I thought I disabled all JS... hang on, you mean CSS is now full of animations and distractions too? [https://addons.mozilla.org/en- US/firefox/addon/unstickall/](https://addons.mozilla.org/en- US/firefox/addon/unstickall/) and [https://github.com/gagarine/no- transition](https://github.com/gagarine/no-transition).

What's that? Sticky sidebar full of chum? No problem - uBlock Origin's "right click, block element" to the rescue.

The internet doesn't have to be shit any more!

<comment><USER8> How does uMatrix compare to uBlock Origin with its matrix enabled through advanced mode? I can't tell much difference but would be willing to jump ship.

uBlock Origin doesn't have CSS or image control per domain but it's the JS I worry about!

<comment><USER9> They complement each other. I use them both. uBlock origin has my back for those rare times where I get the shits and just disable uMatrix entirely for a particular site.

Decentraleyes is also worth a look if privacy concerns form a part of your aversion to the blizzard of garbage your browser spews forth at you. It contains in-browser hosted copies of all that CDN JS junk, so if you have to turn on JS for some shared copy of jQuery that Decentraleyes happens to have bundled, you don't hit the network at all.

</comment></comment></comment></comment><comment><USER10> [http://lite.cnn.io/en](http://lite.cnn.io/en)

[https://text.npr.org/](https://text.npr.org/)

Every site should have a plain html option. Or create their html so that it works fine without js or cnn.

<comment><USER11> I'm trying to assemble a list: [https://sjmulder.nl/en/textonly.html](https://sjmulder.nl/en/textonly.html) but so far there aren't many sites like this that I found useful.

<comment><USER12> There was an HN thread on such sites last year: [https://news.ycombinator.com/item?id=13337948](https://news.ycombinator.com/item?id=13337948)

<comment><USER11> Awesome! I've added a whole bunch of them.

</comment></comment></comment></comment><comment><USER13> The author talks about "noscript" and makes it clear that it's not a reference to the html tag but to the idea of surfing the web without javascript. I was waiting for a discussion of NoScript, the popular add-on for Firefox that blocks javascript by default and allows for turning it back on on a site-by- site basis.

I surf the web, as I have for many years, with NoScript turned on and as few permanent domains white-listed as I can get away with for security reasons.

I don't have any numbers to back this up, but my guess is that the population of people who use the NoScript add-on dwarfs the population of users that actually disable their javascript in their browser. I'm not sure how someone like me shows up in their numbers, but I suspect that I would be on the "blocks javascript" list and then on the "uses javascript" list if I am intrigued enough about the site to enable some of the domains it requests javascript from.

I don't know if web developers take that into account or not, but I suspect they don't because the number of domains I have to experimentally temporarily enable just to see some parts of some sites is getting even more ridiculous these days.

Maybe someone should design a new protocol that is built for interactivity from the start instead of one designed around static content with back-flips needed to make it usably interactive.

</comment><comment><USER14> The web works much better without JS, sites load faster and browser takes less memory. But sadly many sites use preloaders or plugins that hide entire page content until JS is loaded. What an awful idea.

</comment><comment><USER15> I am not a developer, I can write just html+css. For my personal website ([http://mrtno.com/](http://mrtno.com/)) I use just static pages written by hand. No JS needed, no stupid complexities.

I wonder why if I can sell my lack of skill on the market... because the skilled designers/coders are programing a web that really has a tendency to be so bloated.

I browse the web with no-script (firefox extension); and many websites won't even load without scripts. I wonder why. For many many website I don't see the need to have JS around at all.

Can the lack of skills be a skill? :) hire me!

</comment><comment><USER16> Oh my lord, this article is non-sense. Had you gone to a website and had not been able to read anything I would say... good point. But you went to a Wordpress admin to prove your point. Lord have mercy... you're really going to hate your experience once WP switches to a JS based editor. Quick, let's try using Facebook and other apps built on JS frameworks and complain about the functionality not working. Let's try searching data tables with JS off, and let's try making ajax requests to load data over time instead all at once. It's not only in your browser it's in your phones, in apps that provide you services you can't live without.

These type of articles are a shame and are only written to instigate fights among developers. The world is using JS, it's on every major app. Get over it or make something better.

<comment><USER17> I know a guy who built a single-page web app for a blog. Really.

It takes a few seconds to load the post titles, it'll make your computer grind to a halt if you have more than two tabs of it open, it took months to write, and it doesn't do anything you couldn't do with plain HTML and some AJAX request handlers... but Brawndo has electrolytes!

I bet it looks pretty good on his resume.

<comment><USER18> I know a guy that made a model ship in his spare time. It doesn't carry any passengers or cargo, doesn't meet even the most basic safety standards, and frankly doesn't do anything you couldn't do with a canoe.

I bet it looks pretty good on his mantelpiece.

There comes a point where you have to ask yourself - does it _matter_ that he built (what I assume is a personal) blog in framework du jour, simply he just wanted to?

<comment><USER17> Not a personal blog -- this was a paid job to replace an old platform that a community was using but could no longer maintain.

<comment><USER18> Oh gawd, if he was paid market rate it's a pretty questionable decision... At least he didn't write his own css preprocessor or something, I guess!

</comment></comment></comment></comment></comment><comment><USER19> As much as I'd love for the majority of JS to go away, there is no denying the usefulness of AJAX in web forms. Doing page submit is not a better experience for the user or the developer. That's basically the only piece that I can't see going without.

<comment><USER20> Yeah, I only want Javascript for when it actually speeds up a site. Which, from my experience, is simply:

      AJAX for all form submissions
      Service Worker for caching
      Turbolinks[0] for page navigation

And those are easy to implement as progressive enhancements. If JS is disabled, the submit button does a regular page submit, the Service Worker is simply not registered and instead uses your web server's cache policy, and your links remain as regular hyperlinks.

[0] [https://github.com/turbolinks/turbolinks](https://github.com/turbolinks/turbolinks)

<comment><USER19> Honestly wouldn't bother with forms failing over. That sounds like double the work to support a few people. If you want to participate, enable JS, otherwise view the site as read only.

<comment><USER20> Not sure if I follow? For a form submission, you'd set it up like a normal HTML form. The <input type="submit"> would do it's regular thing. If Javascript is enabled, then you'd hijack the button with event.preventDefault and do your AJAX.

<comment><USER19> If I'm client side, as well as server side checking inputs with JSON responses, there is going to be overlapping of work. Particularly annoying when carrying over field/errors across submit pages. Old school submit, check, refresh, show errors, is an ugly experience for end users.

Of course it can be done, not something I'm going to worry about as a solo operating and developing multiple ventures.

<comment><USER20> Sure, it requires some careful planning. You'd set up the html form with method="post". Then have the AJAX send the request with its content type as "application/x-www-form-urlencoded". At least with Node Express, that will have the requests handled the same.

<comment><USER19> I understand how this works, I've built a billion products by this point. It's much easier and user friendly to post the form through AJAX, get a JSON response on success or an array of error codes for each field. Dealing with error messages and passing around form information is not something I want to deal with any longer in OG form submit.

<comment><USER20> Alright. To each their own.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Most content specific sites (which is what we're talking about right?) and Wordpress et al have RSS feeds out of the box, if you're that obsessed with making browsing _that_ fast surely aggregating feeds is by far the fastest way to browse?

</comment><comment><USER22> When the statistical body of internet users who refuse to use JavaScrpit are expressed in terms of a market to whom custom (JS-free) experiences will induce them to pay money for products and services we'll begin to see businesses create JS-free experiences for them.

Are there marketing-specific attributes of anti-JS web users?

<comment><USER7> We simply get information on what stuff to buy from websites that work and ignore those that are broken.

My mobile browsing experience has been immensely better since I installed Brave and set it to block everything by default, including js.

When I'm presented with a blank page (not very often) I evaluate in a split second whether the several seconds needed to reload the site with js enabled are worth its content.

90% of the times the answer is no, so I click Back and then try the next search engine result for the same query. 10% of the time I really want to see or use that particular website, so I enable js for it on Brave's panel and wait for it to reload.

Summary: 1 additional click and 1 additional reload (to be only paid once) on websites I care about. ∞ less nuisance on everything else.

</comment></comment><comment><USER23> "I Used The Web For A Day With Javascript Turned Off."

I Used the Web For A Decade With Javascript Turned Off.

I have been using the Web for over a decade via software that has no Javascript capabilities.

There is a conception one can detect in this article that there is only one "working" look for any website: the look that the designer intended.

However IME many websites "work" without ever engaging the "look" the designer intended. To discuss this, one needs to first specifically define what it means for a website to "work". I am not sure agreement can be reached on that issue.

It may be that the definition of "work" varies with each user. Different users may want different experiences. I know what I want from websites: data. I am less concerned with design. This may not be the case for another user.

The author cites Amazon as an example website.

When I am only _browsing_ Amazon I do not use a "modern" web browser nor Javascript. Without a browser nor Javascript I can download product data in bulk, convert it to CSV and import it into kdb+ for easier searching and viewing. Without a browser nor Javascript I can download images of interesting products and embed them into a simple PDF for offline viewing, using pdflib.

When I am ready to _purchase_ , then I might move to a "modern" browser with Javascript-enabled.

Other example websites he gives are Wordpress, Github, Instagram, Twitter and YouTube. I read the content of all these sites without ever using a "modern" browser nor Javascript. If I want to view images or video, I can download them as in the above case of Amazon. I may choose to view the data in whatever application I choose on whatever computer I choose on the local network, and the computer need not be connected to the internet.

For this user, these websites "work" just fine without Javascript. I can always use a "modern" browser with Javascript if I want to see what the designer intended. However this is rarely necessary for the experience I seek.

</comment><comment><USER24> I do that every day with uMatrix[1], only overriding hosts when needed. I also turn off all CSS animation with Stylus.[2] The Web is becoming unusable without that.

[1] [https://github.com/gorhill/uMatrix](https://github.com/gorhill/uMatrix)

[2] [https://addons.mozilla.org/en-US/firefox/addon/styl- us/](https://addons.mozilla.org/en-US/firefox/addon/styl-us/)

</comment><comment><USER25> The referenced site BlockMetry.com doesn't seem to go into how it calculated 0.2% as having JS disabled. Especially since it references Tor traffic as a high percentage my guess is that each connection was coming into the site with different fully-wiped Http connections basically disabling tracking. Alternatively what percentage of that traffic is simply cache bots for search engines, etc...

</comment><comment><USER26> i want to invite others to try to visit Yelp on mobile with JS turned off. first off, you canr access anything. then the website provides nonsense reasons for why a user should have js turned on, and tries to guilt the user into doing do.

i always have js off by default, and turn it on momentarily when i feel it necessary. i do not feel it necessary for yelp.

</comment><comment><USER27> the 600kb isn't even that bad. it's 2x the amount of requests that makes it so much worse

<comment><USER28> The JS version loads 4times slower, despite only needing 600kb more.

Goes to show how much effect the large number of requests have.

</comment></comment><comment><USER29> W3M !!! Well done pages runs fine in w3m. Think about viewing it in 20 years. Another good test is to see the rendering in archive.org .

</comment><comment><USER30> i do it every day

</comment><comment><USER31> Honestly, I don't see the wordpress backend as a relevant test case. Whoever else you might be catering to, it's fair to assume that someone building a website would have JavaScript enabled while developing.

<comment><USER32> 90+% of the people using Wordpress backends do not build websites. They just author content.

<comment><USER31> Content authors either

</comment></comment></comment><comment><USER33> Might as well try living a day without water.

<comment><USER5> JavaScript is not water. JavaScript is Brawndo, the sports drink. Used in business of watering plants. Because it has electrolytes.

</comment></comment><comment><USER34> Meanwhile:

requests blocked

on this page

168 or 96%

</comment><comment><USER21> RSS, anyone?

</comment><comment><USER35> I'm glad he can code his brochureware site with minimal impact when JS is disabled. It is 2018 and every site is driven by JS, not just DOM events. If you disable JS, you know what you're getting into. Do we need to develop for those that decide to block CSS? Insist on deprecated browsers? You develop for your audience.

<comment><USER36> So you've never heard of the CSS naked day? Or visually impaired users and accessibility?

<comment><USER37> I disable css when it's some article with some annoying low contrast.

</comment></comment></comment><comment><USER38> Somebody should create a list of JS free sites. They can sell it at Whole Foods in the "medicine" aisle. You guys know what I'm talking about; "JS Free -All Natural!".

I think we've about reached the point of ideology on this. If you are considering arguing with the other side your probably better off arguing evolution with a creationist, or facts with the GOP.

<comment><USER39> What a tremendously rude comment. I can't believe you need so many hundreds of karma points to downvote what is clearly a non-contribution.

<comment><USER40> Well, I'm not sure if it was meant to be helpful, but I _would_ like a "list", or better yet, a search engine, that excludes all sites with javascript. If there is no such widely used search engine, then sites without scripting can't thrive.

I've never been an ideological seeker of "organic, all natural" type foods, because the criteria tend to seem arbitrary and unscientific, but I've come to see the label as useful because the other stuff is increasingly adulterated with garbage I don't want.

<comment><USER41> >If there is no such widely used search engine, then sites without scripting can't thrive.

Such a search engine would never be widely used, because there's no widespread desire to limit search results only to sites which don't use javascript.

<comment><USER40> It's a chicken and egg question. People don't know they want it, but they can't find out they want it either. I don't mind javascript or ads _per se_ , but the bandwidth and processing requirements of modern ad-heavy web pages are becoming unmanageable for me. My breaking point is where, even using WiFi at home all the time, I am still going over 1GB a month for my cell usage away from home. And equally as important, pages are infuriatingly slow on both laptop and phone, even though I have a relatively recent and high powered phone.

<comment><USER41> But unless people are specifically searching for sites that don't use javascript, a search engine that excludes javascript is just going to return poor results for most queries.

A more useful search engine might be one that shows whether or not a site uses javascript, and if so, which common libraries, etc. Maybe even whether or not a site will render without javascript.

</comment></comment></comment></comment></comment></comment><comment><USER42> I like that he offers solutions but honestly, more people are vision impaired than have javascript disabled so instead of doing all that work instead put it first on helping people with disabilities.

> There is a danger that more and more sites will require JavaScript to render > any content at all. What danger, exactly? While some sites that don't > require a lot of js is nice you will soon notice that many sites you _want_ > js on. Music streaming services is one example.

I build api based sites nowdays because of mainly two reasons:

1\. They feel more rapid after initial load and gives the user a better experience.

2\. You can use the same api for web and mobile experiences.

I personally think that WebAssembly is the future so the web will finally just be another compilation target and I can't wait for it to be wide spread.

<comment><USER43> > I personally think that WebAssembly is the future so the web will finally > just be another compilation target and I can't wait for it to be wide > spread.

Hmmm, I'm not sure about that. I've only done toy projects with WebAssembly, so I could easily be missing something, but it seems to be:

1) Overkill for most websites

2) Significantly more complicated than current web development - which is saying something given the explosion in complexity of recent web development practices

Obviously #2 can be lessened as time goes on, but it's hard for me to imagine #1 ever being false. It's great for performance-sensitive applications like games, but it doesn't seem to offer much benefit for CRUD apps or static sites.

<comment><USER44> Maybe it's overkill, but hardly anymore than the V8 engine is for most websites. Compilation to WebAssembly will be at zero or little cost to the developer, so it shouldn't matter either way.</comment></comment></comment>


Ex-Googler(Vic Gundotra) is wrong about iPhone:the future of mobile photography - <AUTHOR> https://www.androidcentral.com/vic-gundotra-wrong-about-android-photography <comment><USER2> Vic is on my short list of people who need to be kicked in the jibbly bits. He's tone-deaf arrogant, and unapologeticly ignorant of the qualities that actually make products great. Every time I saw him speak at the company where we both worked (thankfully on different teams) I got the urge to cram my fist in his flapping face. I actually don't disagree with him here, I just can't take seriously anything he says.</comment>


Ask HN: Code examples to find out if a person is addicted to "overengineering" - <AUTHOR> I know one person who creates as complex solutions as possible to any kind of programming problems. And it has bad impact on business and projects. So, I want to know if someone knows any kind of questions or tests or code examples which I can show to that person and see what decisions he will take. <comment><USER2> Have them build "A framework for X", where X is some commonly-done problem most programmers in their field have worked on (webapps, CMSes, forums, build systems, big data, etc.), ideally related to your business. If you want to do this in an interview or take-home setup, you will likely need to use a cut- down version of this problem, although really, much of the point of it is to see just how much the problem expands.

An engineer who doesn't overengineer will first ask a lot of questions about why you need X, and then will build X, and then only after you have tweaked the problem requirements will generalize that into a framework. They are likely to think this is a bad interview question, which it is, and push back to get the actual concrete requirements. That's exactly what you want; overengineering happens when people guess at the requirements instead of making sure of them.

An engineer with a propensity toward overengineering will _love_ this question, and immediately jump into all the features their framework will support. They'll carefully get lost in thought brainstorming new features that might be cool, but when it comes time to implementing it, they'll either completely fail to reconcile all the contradictions that have crept into the design, or they will come up with a very complicated mess that does everything but trades off unspoken requirements (like performance or simplicity) for them.

This mirrors how frameworks actually work in the real world: basically every framework that people actually use was extracted out of a working app that solved one problem well, while every framework designed from scratch is an overengineered mess.

<comment><USER3> > will first ask a lot of questions about _why_ you need X

Have an upvote, I love advice like this: a good engineer has the capability to have the one posing the problem also reflect on the problem and the requirements and should never just say 'ok let's do this' without making sure it is really needed. Because face it, there are a lot of people out there coming to engineers with a question _and_ a 'solution' which is actually already partly an implementation - in a domain they're not really good in. (example of that style: I want a sandwich! Engineer, build me a sandwich vending machine!) Good engineers know how to deal with that as well, and will ask as many questions as needed to figure out the optimal (combination of good enough/least work/least technical debt) solution in a given situation. Which, sometimes, might be as simple as 'wont fix, no real need for it'.

</comment></comment><comment><USER4> It's not an addiction, its a phase. When an engineer is young, they will do anything to make something work. When an engineer is older they've learned how to make things work, but then learn that changing things in the future can be hard. So they try to build as many hinges in as many places as possible. Many years later they will realize that only 1/10 of their "flexible" solutions needed to be as flexible as they made it, and then they become experienced developers who know how to build something that works, how to build something that can be flexible for the future, and most importantly they learn how to question if the piece they are making needs to be flexible (or even better question the business if it needs to be built at all).

I'd say the test shouldn't be, how can you find out if they are in the overengineering stage or not. Instead, I'd filter for engineers who can be reasoned with. If you are an engineer in stage 3, it's okay to have a stage 2 engineer on your team, but if he can't take direction then he'll be a liability.

</comment><comment><USER5> When a candidate solves a programming problem, they typically don't do it with a minimum of abstraction or complication, because employers aren't interested in that. Instead, they'll try and pick something that they want to communicate through the medium of the exercise.

If they choose unit testing, the solution might be over-engineered to be testable at a much finer level than would be necessary in production code, and have more abstractions than usual.

Or the candidate might be trying to communicate some kind of design aesthetic, whether it's familiarity with functional programming, object orientation, design patterns, or some framework du jour that requires a lot of boilerplate. All these will smell a lot like over-engineering on typical toy problems seen in programming problems.

IMO it's very easy to get a mismatch in expectations and presentation in the solution to a programming problem, such that the company and the candidate aren't communicating on the same wavelength. Unambiguous, very simple problems with binary solutions may be better as a basic filter (e.g. Codility or something like it), followed up with pair programming in something more similar to a working environment, where pair communication and direction can get people on the same page.

</comment><comment><USER6> My stock interview question:

> Tell me about the project you are most proud of, which best demonstrates > what you're capable of. It could be academic, it could be professional, but > be careful to not share any proprietary information from previous employers.

Then I proceed to ask a bunch of code, design, and implementation questions based on that scenario/project. If runtime is important, how they optimized for it; if scaling seems difficult, how they approached that; etc.

Note: This is a varsity-level interviewing question, since you need to be able to quickly come up with meaningful and consistent questions based on their proffered product. It works very well though when interviewing intermediate/senior engineers.

</comment><comment><USER7> How can you be so sure you aren't underengineering, and this person you know is actually planning ahead wisely?

<comment><USER8> Personally I feel as if underengineering is less of a problem than overengineering.

I've seen both in real life scenarios and usually you just throw the underegineered code away and start over with knowledge gained from the previous solution. And the reason you can do that is because you usually realize that you have an underengineered solution fairly early.

<comment><USER9> A truly underengineered solution doesn't provide mechanisms to allow it to be refactored or deleted.

</comment></comment></comment><comment><USER10> Just ask them to describe an original code or system design they are particularly proud of. That will reveal what design principles they value the most.

<comment><AUTHOR> Thanks! It is a good example)

</comment></comment><comment><USER11> Ask them how they would, on a Unix system, do some task that's trivially done via a standard POSIX shell command.

E.g. "how would you count the number of lines in a file?", "given a regex, please print lines in a file matching the regex", "given N lines, sort them by numeric value" etc.

The most egregious over-engineering I see is someone writing a 100 line Python script for something that could be at most a 100 character shell one-liner with a couple of pipes between different programs.

If they pass that ask them about a problem that would be trivially solved by resisting the urge to reinvent make, a HTTP server, or an SMTP server.

Edit: Re downthread: Yes obviously only in the context of someone expected to know *nix in the case of those examples. But the general approach is very transferable.

Ask the candidate about some trivial problem solvable in 1 minute with standard tooling they use every day, you'd be amazed at the architecture astronauts that come out of the woodworks keen to waste their time on some needlessly over-engineered solution.

<comment><USER12> You're assuming this person has in-depth knowledge of shell commands. If that's what you're testing for then fine, but I wouldn't say it's a good measure of over-engineering. They might have tons of python experience on Windows and haven't used grep in years, so that 100 line Python script might be the most efficient solution they can think of.

Also, any interview where I'm expected to have memorized obscure shell flags and one-liners with no access to so much as a man page can go fuck itself. That's just an IT/DevOps spelling bee.

</comment></comment><comment><USER13> Ask them to make some simple yet non-trivial feature, like a contact form on a web page.

The overengineer will introduce a build system, several functional programming utilities, an HTTP client wrapper library, a DOM abstraction library, and maybe a full blown framework.

The competent developer will write a <form> element with inputs.

</comment><comment><USER14> Are there actually experienced developers who still overengineer? I always thought of that as something that happens from the lack of experience. Straight from university developers, or people who never worked with a team before tend to do that, but I can't see how you will hold off this attitude after a bit of experience. And unless you're letting an inexperienced developer lead your team I can't see the problem. As long as the team leader eventually communicates and pushes an overengineer in the right direction (make it work > make it simple > make it generic), is this really a problem?

<comment><USER15> I have seen experienced developers that overengineer. It's hard to definitively know why, but I suspect sometimes it's so they can get some new "thing" on their resume or added to the approved toolbox for their team.

<comment><USER14> I tend to think of overengineering of a team member as the mistake of the team leader, unless you're really hiring a solo developer then you'd better pick an experienced one.

If you communicate your priorities properly, you put real emphasis on not creating unneeded code, people aren't stupid, they wouldn't do that. Most projects don't live in vacuum, and the difference between overengineered solution and a good solution depends on outside requirements, and that's the job of the team member to keep it on track.

<comment><USER15> I could have been talking about the team leader in this case. They are fallible people too. It wouldn't be unheard of for one to to introduce Kafka, Elastic Search, React, etc, when it wasn't needed...for reasons unrelated to the task at hand. As mentioned, one reason would be to gain experience in it, or to get it pre-approved for the team to use...in some future more appropriate situation.

</comment></comment></comment></comment><comment><USER16> Ask the person to implement "Hello world" and then count the lines of code, number of classes, inheritance depth, number of external dependencies, etc.

<comment><USER17>
        $ perl -wle "print 'hello world'"

<comment><USER18>
        $ echo "hello world"

<comment><USER19>
      "Hello World"

<comment><USER15>
      echo -e "#include <stdio.h>\nvoid main() {printf(\"Hello world\\\n\");}" | gcc -o ./foo -xc - && ./foo && rm foo

<comment><USER20> (=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc

</comment></comment></comment></comment></comment></comment><comment><USER21> I think you're probably better off avoiding a trap or a trick here, and instead just ask about it. "Give me an example of a time you over-engineered something" and "Give me an example of a time you under-engineered something". Most people should have reasonable answers to both, and the one they have the most trouble with is probably the one you should be more concerned about.

</comment><comment><USER22> I think you need to dig and see what the aspirations of the system were vs what was delivered. The people I've worked with who always went for the complex solution could list off a million "awesome" things that the system was going to do. It rarely did any of them.

I'd also look for people who are constantly starting from scratch. The complex system builders I've known are _terrible_ at maintaining systems. So, they throw them away every 12 to 18 months and start over. If you think they're complecting too much, ask them how they supported one of their creations over _years_.

Lastly, ask them what customers thought of the result. Look for specifics here. They should give names, use cases, etc... Really, they should understand the business problem their customer needed solved and be able to communicate why the complexity of their solution was necessary to solve the customer's problem.

</comment><comment><USER23> I ask candidates to sketch an API (program, not REST, i.e. an outline of classes, functions and module structure) for a problem similar to those we solve, but smaller in scope.

I also ask about things like test coverage and programming paradigms they have an affinity for. Some things I look for that can be negative signals are:

* Propensity to choose classes and OO programming in a domain it isn't really suited for, or functional/procedural programming where OO might fit better

* Propensity to build for what might be rather than what is (e.g. always have an abstract class even if only one concrete class is necessary)

* Propensity to maximize test coverage (e.g. splitting the logic of functions into smaller ones just to generate test cases, even when those smaller functions are only called at one location) rather than to design for a solution

<comment><AUTHOR> Actually, the question is related to employee, not a candidate:) He is working with us quite for a long time, and he writes really good code. But he can't make simple solutions, only the hardest way to solve a problem. And because of it, we can't plan work and estimate tasks.

<comment><USER23> Well that's a different problem. What is the nature of the work? The first thing that pops in my mind is "perhaps he sees an appropriate level of complexity that isn't accounted for by the other engineers, product owners or other business stakeholders."

</comment></comment></comment><comment><USER24> I believe "overengineering" will not show itself through code but through time.

Let me explain, a person thinking through a solution that should only take 1 hour and spends an entire day on it is overengineering. What goes through this persons mind goes something like this: "Maybe solution X is better?", "Is my code good enough?", "What happens in area X?", "Maybe add more tests to cover X?" ...

You get the point. That's why I always focus on the end result and try to be pragmatic as possible. Would this solution be enough to solve this problem, if yes, then move on. Don't get me wrong, performance wise, it should also be taken in consideration but not that it consumes all your time.

</comment><comment><USER25> I think with overengineerers you have to look at the actual problem they are trying to solve and compare it to the potential problems they are trying to solve.

I often do "cool" stuff only to realize that it was way too complex for the problem. But I make a point to trim it down later.

I would add a step towards the end of the project that focuses on deleting unused stuff and simplifying as much as possible. As always there is no hard type and you often can't predict at the start if something is a good idea or not.

On the flip side people that immediately cry "YAGNI" and never try anything can be a drag too.

</comment><comment><USER26> [https://news.ycombinator.com/item?id=14397089](https://news.ycombinator.com/item?id=14397089)

Here's a comment of mine, from a month ago, pertaining to interview coding exercises. My example accomplishes the goal you've described, however I'm not sure it's an exact fit for your situation, given the context you've provided. Perhaps some more information about your particular case would help identify good solutions.

</comment><comment><USER27> Maybe try asking them what they consider overengineering and ask for some examples of times they've fought against an overengineered solution? Also ask about when code duplication is OK. I can't imagine you can gauge this easily otherwise as e.g. code examples are going to be too artificial but you could probably tell from their answers to the former questions if this is an issue they've thought about before.

</comment><comment><USER28> Here's an easy challenge: Ask the overengineer to solve problems without introducing any new classes or functions. This starves the overengineer of oxygen, reducing their abstraction options to "loop", "branch", and "add variable". The resulting giant switch statement in a loop is likely to be a relatively clean architecture.

</comment><comment><USER29> Question: "Would you like a lot of stock options?". Show them you are serious about engaging business-minded developers.

</comment><comment><USER30> "How would you build a to-do app for yourself?"

Because it seems that todo apps are incredibly susceptible to overengineering?

</comment><comment><USER31> If it's NodeJS the fastest way is to check how many dependencies they have in total, bad developers will find a way to include 100s or 1000s of dependencies, anonymous third-party blobs of code running within their application:

        $ npm install

Another indicator is how elaborate their build process to munge w/e they wrote into w/e a machine understands.

<comment><USER32> Don't agree with the approach because using a proven solution can be superior and net a simpler code base than rolling your own.

Fyi, by using webpack, couple loaders, babel, etc I net 100s of dependencies just for the build. Ymmv.

<comment><USER22> I think this is right. I might as how they start the dev environment or kick off a build. Should be something like `yarn start` and `yarn build`.

We all work with really complex systems. The trick is to abstract them to the point where they're simple to understand and use. 1000s of dependencies doesn't even have to be complex at all if you use simple patterns to manage those dependencies.</comment></comment></comment>


Flushing away time: tilted toilet aims to increase employee productivity - <AUTHOR> https://www.theguardian.com/money/2019/dec/18/standardtoilet-tilted-employees-productivity <comment><USER2> They're doing it wrong. The documentary "Idiocracy" showed the perfect solution. A recliner with a built in toilet and food dispenser. Add a swing- arm-shelf to put a laptop and the employee will never have to get up again. Recline the chair and the employee may take the allocated sleep time. No need to go home, ever again.

<comment> java-man To paraphrase Mr. Burns, "A happy employee is a productive employee!"

</comment></comment><comment><USER3> I give the world the patent on a wedge-shaped seat cushion to counteract the angle. Stay as long as you like.

Second patent: cushion is inflatable and will fold to fit in your pocket.

</comment><comment><USER4> Asians / Muslims / ?? already have this tactic beat, since many of them squat on the toilet with their feet on the seat, instead of sitting on them. The tilt could actually be more comfortable for the feet.

Mind you, people who squat tend to not dilly dally in the can anyway.</comment>


Rust Essentials - <AUTHOR> https://www.packtpub.com/packt/offers/free-learning <comment><AUTHOR> Packt gives out the book for free today.

</comment><comment><USER2> Note that the ebook is from 2015.</comment>


Fedora Linux Lets You Choose Your Own GUI Adventure - <AUTHOR> http://www.wired.com/wiredenterprise/2013/01/federa-linux-interface/ <comment><USER2> Pretty much every distro does this. Like most things, the way to get the most out of Linux is to learn and explore it. I've been happily ignoring the "GUI Wars" because I'm using i3, a tiling window manager that AFAIK nothing comes with out the box, but you just install it and configure it and bam, you're away. No worrying about Gnome 3 or KDE bloat or whatever. You set it up so you have a nice enough GTK theme that is then emulated by Qt (so things look consistent) - I use Zukitwo - and then you just pick which apps you like and use them. There's no deciding one way or other, you just use the programs you like.

</comment><comment><USER3> Coincidentally, if you're considering trying something new, I really recommend KDE. I've found it to be a very well-thought-out system that's both easy to use and easy to customize. The defaults are good, so there is no real _need_ to customize, but if there's something you don't like chances are you can change it fairly easily.

I also really like certain KDE applications, especially Amarok (the music player). Okular is also pretty good--at the very least, I like it more than Evince.

I've been using KDE on Fedora for a while now, and I've been entirely happy with it. I'm switching over to a much more minimal XMonad setup now, but that's a different story and a much larger shift.

<comment><USER4>
      I'm switching over to a much more minimal XMonad setup now,
      but that's a different story and a much larger shift.

I switched from using Gnome on Debian (work) to XMonad approximately one year ago (I am running Arch with XMonad on my MacBookPro at home and been very happy with this setup), and I didn't find the shift _that large_ : the basic configuration pretty much works out of the box without the need for customization - at least at the beginning. And if you are eager to customize, there is a lot of information on how to set up xmobar, trayer and some Haskell XMonad stuff out there.

<comment><USER5> So are you using XMonad without a DE? How is the experience?

BTW, how do you manage wireless networks and stuff?

<comment><USER6> I use fbpanel to make nm-applet work in my xmonad setup; it's very simple and config-file driven rather than hiding config in crazy XML gconf files like gnome-panel did.

<comment><USER5> Thanks! I am about to make the switch to XMonad without a DE and so I was making a list of things that I would be doing without a DE and wondering how the experience would be.

<comment><USER6> You might find this interesting: [https://github.com/technomancy/dotfiles/blob/master/.xsessio...](https://github.com/technomancy/dotfiles/blob/master/.xsession)

</comment></comment></comment></comment></comment></comment><comment><USER7> Ubuntu lets you do this to (it has for awhile). I've been using Cinnamon which seems less clunky than Unity.

<comment><USER8> The article's point is that you have to download it from the web via the repos to do this. Which seems like an incredibly silly and inconsequential thing to write an entire article about.

</comment></comment><comment><USER9> Too bad Linux Mint is not a fork of Ubuntu.

<comment><USER10> Is it not? The Linux Mint wikipedia page seems to indicate that it is a fork of Ubuntu.

<comment><USER9> Being a fork and being based on something are two different things.

"Version 2.0 "Barbara" was based on Ubuntu 6.10, using its package repositories and using it as a codebase. From there, Linux Mint followed its own codebase, building each release from its previous one but it continued to use the package repositories from the latest Ubuntu release. As such the distribution never really forked. This resulted in making the base between the two systems almost identical and it guaranteed full compatibility between the two operating systems"

<comment><USER10> That sounds exactly like a fork to me. There are forks of chromium that add some feature and when new chromium releases come out they patch it back in; just because a project continues to track the original projects patches doesn't mean its not a fork. Just because the vast majority of the code base is identical doesn't make it not a fork.

Besides, the default meaning of "it's not a fork" would be "it's unrelated" not "it's even more closely related than a fork". Simply stating "Mint isn't a fork of Ubuntu" is a totally misleading statement.

<comment><USER9> In case you didn't notice,I quoted text from the Linux Mint wikipedia page which you said it indicated it's a fork.Apparently I'm not the only one who thinks it's not.

Forking Ubuntu and rebasing code every single release on a new Ubuntu release are two different things.

Examples of forks: [http://www.phoronix.com/scan.php?page=news_item&px=MTI1N...](http://www.phoronix.com/scan.php?page=news_item&px=MTI1NTE) [http://www.phoronix.com/scan.php?page=news_item&px=OTgxM...](http://www.phoronix.com/scan.php?page=news_item&px=OTgxMA) [http://www.osnews.com/story/24957/Plan_9_Forked_Continues_as...](http://www.osnews.com/story/24957/Plan_9_Forked_Continues_as_9front)

Linux Mint is not a Ubuntu fork neither are other distributions that are based on Ubuntu.Same thing goes for Debian or Chromium.They are just spin-offs (excluding the Ubuntu-Debain relationship of course)

Also the default meaning of "it's not a fork" is "it's not a fork".</comment></comment></comment></comment></comment>


Introduction to K Nearest Neighbor Algorithm - <AUTHOR> http://saravananthirumuruganathan.wordpress.com/2010/05/17/a-detailed-introduction-to-k-nearest-neighbor-knn-algorithm/ <comment><AUTHOR> I came across this algorithm today doing research on how to categorize our users based on attributes (or in KNN terminology "features") and activity and then allocate resources accordingly. Heres another nice little intro tutorial showing how an implementation in JS for those interested, [http://burakkanber.com/blog/machine-learning-in-js-k- nearest...](http://burakkanber.com/blog/machine-learning-in-js-k-nearest- neighbor-part-1/)

I was surprised at the elegant simplicity of this, if anyone has other links or resources to implementations Id really be interested :)</comment>


Amazon wants govt permission to run mystery wireless tests in rural Washington - <AUTHOR> http://www.businessinsider.com/amazon-wants-government-permission-to-run-mystery-wireless-tests-in-rural-washington-2017-1 <comment><USER2> Is it really a mystery when the uplink/downlink frequencies are all right in the sweet spot for existing LTE radios?

I'd guess they are going to set up an LTE cell site with "off band" values use LTE modems/radios/antennas on their drones to co-ordinate flight. Get it all working and then go into Verizon and say "hey we'd like to piggyback on your network for our drone services, this is how much traffic, spectrum, and activity you can expect based on our test data ..."

<comment><USER3> This is how smart meters work. How long before someone hijacks a drone's SIM card?

[http://www.theregister.co.uk/2011/05/02/stolen_sim_woman_jai...](http://www.theregister.co.uk/2011/05/02/stolen_sim_woman_jailed/)

</comment></comment><comment><USER4> Drone to Drone mesh networking obviously. This is what packet switched networks were literally invented for.

Obviously the infrastructure of building a drone delivery network would be building all those towers.

You can avoid this by building a mesh network and attempting to ensure drones are always within LOS of each other.

I guess they don't have the drones flying yet b/c there is no FAA permit (unless they already acquired on).

</comment><comment><USER5> I have no experience with this, but might the frequencies that they've mentioned be telling of what they're going to be doing in these experiments?

<comment><USER6> The frequencies are roughly the same as what is used for LTE cell phone traffic. Which means they are probably looking for a frequency that has the same atmospheric, foliage, and construction material absorption, and range.

Not sure it tells you much. They are obviously also limited to what portions of the spectrum are available.

<comment><USER7> Do we know the max power levels involved?

</comment></comment></comment><comment><USER8> Mesh nodes or landing guidance devices for drones is my estimated guess.</comment>


Obama Reckons with a Trump Presidency - <AUTHOR> http://www.newyorker.com/magazine/2016/11/28/obama-reckons-with-a-trump-presidency <comment><USER2> duplicate - i ve seen this article twice before in the last two days</comment>