hacker news with inline top comments    .. more ..    17 Oct 2016 News
home   ask   best   9 months ago   
A cheap 555-based Geiger counter hackaday.com
31 points by dragonbonheur  1 hour ago   15 comments top 4
eveningcoffee 46 minutes ago 1 reply      
No, it is not based on the 555 IC, it is based on the Geiger Tube.
dvh 1 hour ago 6 replies      
I once tried to make Geiger counter from webcam. I covered the lid with dark paper. I put it in front of a banana and then I read frames from it and counted noise spikes. Didn't work.
gravypod 37 minutes ago 0 replies      
There was once a project called the ultramicron or something that was sent into the EEVBlog. It was an open source project that was smaller then this.

The owner removed the public schematics and made it a closed source project sadly. I hope someone has a backup of his published files because one day I will be building it.

bartl 47 minutes ago 2 replies      
400V on non-isolated wires? Sounds dangerous.
Millions of Men Are Missing from the Job Market nytimes.com
58 points by stefap2  1 hour ago   20 comments top 4
brohee 1 hour ago 3 replies      
Comparing those numbers with Europe, whose safety net doesn't usually require people to pretend being disabled, would have been enlightening. A missed opportunity.
sc4th1s 10 minutes ago 1 reply      
slfnflctd 52 minutes ago 3 replies      
> 31 percent of those receiving benefits have mental disorders

This has got to be a major contributing factor. Add in those with undiagnosed psych problems, and I'm sure it would stand out even more. [Of course, maybe they would be balanced out by the 'fakers'-- but that is almost equally alarming, and itself suggests all kinds of deeper problems.]

Both reducing the stigma of and increasing access to mental health care are hugely important right now. Most people with such issues are perfectly capable of being productive employees-- but not if they are marginalized through terrible hiring processes, workplace 'social politics' and inflexible, unsympathetic (or simply incompetent) management. A robust jobs program could certainly help.

a_c 21 minutes ago 2 replies      
> ... were not in the labor force, which means that they were not employed and were not seeking a job.

Does entrepreneurs constitute labor force? If so, then "labor force" and "not employed and not seeking a job" are not exactly the same

Google May Be Stealing Your Mobile Traffic alexkras.com
300 points by akras14  9 hours ago   114 comments top 23
jacquesm 1 hour ago 1 reply      
I don't (and never will) use AMP and I feel that it is patently unfair to penalize pages for not using some non-standard tech. Google should index the web fairly, not make use of their tech a factor. Webpage speed is a fair measure (and I really wouldn't know what I could do to make my pages any faster, AMP will not make a measurable difference).

I would expect an un-biased search engine to rate pages with and without AMP equal and to not show 'badges' based on whether or not a page uses tech by the same vendor of the search engine.

hannob 2 hours ago 4 replies      
AMP is essentially Google's answer to people creating terrible web experiences.It's been discussed and documented a lot. Common webpages today load content from dozens of different ad, tracking and whatever hosts, take several megabytes to load. All well known, but people don't stop doing it.

Now Google comes along and says: You can't do it, let us do it. Which is perfectly reasonable from their point of view. And when I surf google news on my slow mobile connection I'm always happy when I see that a link is going to an amp target - because then I know it'll be loaded fast.

But you don't need Google to do that. If you don't like AMP nobody stops you from doing the same thing. Limit the amount of stuff you load into your page, reduce the third party content that you include to a sane number of hosts (something like 3 instead of 50), optimize your javascript, deploy HTTP/2. None of that is magic and you can have your fast webpage without any AMP.

lucaspiller 7 hours ago 5 replies      
The whole idea of AMP seems like it's really the wrong way to solve the problem. If you remove all the third party JavaScript, fonts, large images and "like" buttons you'll have effectively the same. I guess it already messes up ads and analytics (although I'd assume Google's services still work), so what's the problem?

Kind of related: I recently switched my blog from Wordpress to Hugo. I found a minimal theme, but the amount of junk it was loading was shocking. I created a stripped down version if anyone is interested: https://github.com/lucaspiller/hugo-privacy-cactus-theme

niftich 6 hours ago 0 replies      
Wired broke this story [1] in February 2016, soon after Google announced it'd start directing results to the AMP Cache on the mobile site. In the meta-writeup the next day, Wired wrote "Google's AMP Is Speeding Up the Web By Changing How It Works" [2], while noting that this was a necessary step to compete with Facebook's Instant Articles and Apple's equivalent tech.

[1] https://www.wired.com/2016/02/google-will-now-favor-pages-us...

[2] https://www.wired.com/2016/02/googles-amp-speeding-web-chang...

Animats 7 hours ago 3 replies      
It's not your site any more. You're just a free content provider to Google now.
dkersten 56 minutes ago 1 reply      
> Google was injecting a large toolbar at the top of the snapshot encouraging users to get back to Google search results (a functionality already provided by the back button)

I learned, through a series of usability tests my (former) startup ran amongst its users, that most non-tech people do not click the back button and get very confused if your pages don't have their own back/forward/close/menu navigation.

We moved our apps workflow from "use the browsers back button to go back" to having all navigation including back/close as part of the HTML UI.

OJFord 2 hours ago 1 reply      

 > I was expecting it to cause a redirect to the original > article. Instead it redirects back to Google search > results. Say What?
Well, what it does is exactly what I would expect; if clicking 'X' redirected to the author's site I would be thoroughly confused.

If I click on a link and it opens in a new tab, I don't close the tab ('X') expecting to go to the home page - I expect to go back to the page from which I opened it.

frandroid 22 minutes ago 0 replies      
It's been known all along that Google AMP serves pages from its CDN and that Google adds a bar at the top. The author would have know as well if they had paid attention from the get go instead of bragging about their 5 minute "install". Nothing to see here, move along.
laser 4 hours ago 1 reply      
Why would I want to give up 10% of my screen space to a useless bar that when I try to exit out instead takes me away from the page? Complete UX madness.
romanovcode 3 hours ago 1 reply      
I think that this whole AMP thing is horrible for the web.

It's like Google is not dictating how one should build/style their websites. Thanks, but no thanks. Stay evil, Google.

Aissen 4 hours ago 0 replies      
Actually having the site served from the same, already-open, probably pre-fetched connection, already open browser is great for the user.

It even has the advantage of loading inside the Google App, where no adblocking exists, so it might even be good for publishers.

Yes, there's no discovery if you don't design for that, user will just bounce.

andrewaylett 7 hours ago 0 replies      
This feels much more like FB's "instant articles" than what I actually want (as a user) from my web pages.
pmontra 6 hours ago 3 replies      
> Consider adding a link at the top of your AMP page, giving user an option to visit the original post

Why should they want to read the post again? The only viable option is to have links to other posts on your site, or maybe a link to the comments.

By the way, what's the purpose of the bar at the top? The back button of the browser already does that, even on mobile.

About analytics: I don't know if those accesses don't show on Google Analytics (I really don't) but what if one uses Piwik? Is there any way to get a report of the access?

SimeVidas 5 hours ago 0 replies      
Arent you supposed to put links to your other articles at the bottom of that AMP page? I mean, that seems like the best way to get users to visit your full site.
yoz-y 7 hours ago 1 reply      
Hm. The x button he mentions is only visible if you got to the page from Google search. If you follow the direct link to the amp page then the header just mentions his original URL as the browser (mobile safari). I would say that such behaviour is quite consistent with mobile so... whatever.
buckbova 3 hours ago 0 replies      
> Explore the site further OR hit the back button to go back to Google search results

I set Google to open links in a new tab anyway so the X the OP is complaining about is actually exactly my browsing style to click X and go back to search results.

z3t4 1 hour ago 1 reply      
I think the next step for Google is to provide a free hosting service, where ad income is shared by Google and the content provider.
visarga 7 hours ago 4 replies      
Well, considering that said traffic originated from Google, and that Google was under no obligation to send it to OP's page, it's a little more nuanced than "stealing". It just means they sent different behaving traffic than usual - traffic that only touches one article and returns to Google.

It might discourage webmasters from adopting AMP though, if they have the expectation to lead the visitor to the homepage or other articles.

eyeareque 5 hours ago 1 reply      
Would a robots file block google from caching your site? I guess that would block google entirely though..
antocv 5 hours ago 0 replies      

Try using www.yandex.com as your search engine, it is surprisingly good, and has less ads disguised as "search results" and results from blog-spam sites and such nonsense.

matt4077 7 hours ago 0 replies      
I can't wait 'till the author finds out that sometimes the browsers cache resources... These terrible browsers stealing his page impressions.
mehmetkose 4 hours ago 1 reply      
My website is already fast on mobile. Because I am using gulp, and compressing the UI. I have added AMP because of seo. But wtf is this? FUK yourself google! I'll delete amp on my site.
emilssolmanis 23 minutes ago 0 replies      
So you installed a WP plugin without doing any research and hoped it would make your pages faster by using unicorns and magic, or to quote

> Most importantly, I was surprised to find out that instead of redirecting users to an optimized version hosted on my server, Google was actually serving a snapshot of the page from their own cache.

and now you're upset that they really only made it faster via caching it, not actual magic.

Were you perchance born yesterday or are you just very naive...?

WTF is a container? techcrunch.com
203 points by kawera  9 hours ago   134 comments top 19
Azeralthefallen 2 hours ago 6 replies      
I remember going to AWS Reinvent last year and having some beers with a bunch of people who did devops. We started talking about tools, and they were utterly flabbergasted, that we had not embraced docker. They went on an on about how simple docker made HA, and handling fail overs/maintenance. More or less made it seem like it was the greatest thing since sliced bread.

Me and a few coworkers decided to try and dockerize some of our serivces, and move our staging ES cluster to docker.

For the most part building our own containers was easy enough, for the various services. The biggest issue we had was with Elasticsearch, since we have 4 types of nodes. So we ended up building 4 specialized containers for each node type.

Then came the issues:

* Making containers work together, for example we use a logging agent, we decided to make that its own container. Then actually getting a way to share a log directory with the agent, was very painful and unclear. (Honestly the single most frustrating thing i recall was asking for advice in irc and more or less being told i am doing it wrong)

* Containers would randomly crash under load exiting with error 137 out of memory. Apparently a few of our services would randomly leak memory, but only when running inside a docker container vs ubuntu 14.04. (I never figured this out)

* Containers would randomly become unreachable, forcing me to kill them and restart them.

* Random hanging issues, suddenly docker exec is hanging. Being told to revert to an older version, or install a newer version is tiring and makes my environment very inconsistent.

* Trying to debug why our app in the container isn't working is not fun at all.

However the single part that killed me was, i was chatting with one of the people who i met at Reinvent, and i mentioned my issues. He acted like it was completely normal for these kinds of issues.

After a solid 2 weeks of random issues and the constant barrage of pagerduty alerts, i just rolled everything back to static EC2 instances for staging, and have ran into 0 issues. I want to try containers again because i want them to work, but i have just had too many issues.

dancek 7 hours ago 11 replies      
I agree that containers (both for shipping and servers) are a great idea. And because I'm tired of always configuring servers, I decided to give it a try some time ago.

I wrapped my IRC client (weechat + glowing-bear) in a Docker container. Oh, not a container though, because I also needed https, which meant I needed either a mechanism to build and update letsencrypt certs in the weird format that weechat expects, or to run an nginx instance in the front (and also somehow get the certs, but that's easier with nginx). So two containers.

And even though there was a ready-made nginx+letsencrypt https reverse proxy container (actually several), I had a huge amount of headaches to get it actually working. Even with the system set up, I occasionally have the container crash with exit status 137 (IIRC), which I've assumed might be because weechat leaks/consumes memory and eventually the host server kernel kills the process. Maybe.

So in my limited experience, comparing Docker containers to shipping containers is a gross simplification. Shipping containers are simple constructions requiring well-defined simple maintenance, while Docker containers seem to be complex thingamabobs that have multiple points of failure.

Hondor 3 hours ago 6 replies      
I never quite understood containers and this article makes them seem kind of similar to what OSs already do.

How is a container different from just installing all the dependencies along with an application? Coming from a Windows background, this is pretty common to avoid DLL hell. Nobody distributes a Windows application that requires the user to go and install some 3rd party library before it'll work.

Isolation from each other seemed like one advantage, but that's not even security strength isolation so you can't count on it to protect the host OS from malware in a container.

A claim I often see, and that's repeated here, is that containers can run anywhere. But can they really run in any more places than an ordinary application with dependencies included, or even statically compiled into it? You still need Linux and the same CPU architecture, right?

BjoernKW 3 hours ago 2 replies      
Containers are often touted is this novel concept that's bound to revolutionise software development and software delivery in particular.

The general idea isn't all that new however. Java Applications have been delivered as containers since 1995 (although the concept isn't explicitly named that way with Java applications).

Each JAR / WAR is a self-contained application that can run anywhere where there's a JVM (which is pretty much everywhere).

From a feature perspective the only real innovation of Docker-style containers probably is that those aren't limited to the JVM but are (largely) language- and runtime-agnostic.

disposablezero 6 hours ago 1 reply      
Weak virtualization often lacking security, resource metering/prioritizing/quotas. Hurray, zombie Docker instances needs a whole VM reboot yet again, still not fixed in several years. But look how fast I can deploy millions of containers without SELinux, monitoring, HIDS, SDN, billing, live migration, backup/restore/DR/data lifecycling and all the other things we just pretend to ignore when throwing away sensible production VMs on Type 1 hypervisors devopsec.
jdoliner 5 hours ago 0 replies      
This is a pretty good analogy for containers but there's an unfortunate conflation of terms. There's actually a distinction with computing containers between the thing that you ship code around as and the thing that you run code in. The latter is the real container while the prior is called a "container image" or often simply an "image." This gets confusing quick if you apply this analogy since you assume that the thing you ship the code as would naturally be called the container.
sytelus 6 hours ago 0 replies      
These hand-wavy explanations that constantly avoids explaining how things work at low level are not adequate.

Here's short explanation for developers even with moderate understanding of how OSes work:


fenomas 6 hours ago 2 replies      
I'm only a beginner, but the analogy that makes sense to me is that containers do for app deployment what npm does for Javascript development. That is, the magical part isn't that Docker simulates an operating system and so on - the magic is that it allows a chunk of logic to precisely declare its dependencies - including on other pieces of logic which declare their own dependencies - and then Docker knows how to (in theory anyway) run the logic in such a way that its dependencies are all satisfied.

And of course the meta-magic is then that there's a public registry of (in theory) solved problems, which one can build on top of by declaring dependencies against them.

I have a pet theory that this "declared dependencies + dependency wrangler + public registry" is a general formula which will keep cropping up as we find new places to apply it.

ChoHag 4 hours ago 0 replies      
Take an operating system. Remove all the advantages of a shared environment like dynamic libraries, package management, clarity. Stick a chroot before every fork. Boom! Containers.
parito 6 hours ago 4 replies      
for the love of god - forget docker, use lxc containers - its simple, secure, goes with its own init, cron, and you dont need to do somersaults to achieve simple tasks. Included with linux kernel. Your own isolated linux system. We use lxc in production for over three years, and we have over 3000 of them. No issues whatsoever.
sztwiorok 6 hours ago 1 reply      
Docker is the best thing since sliced bread! VM is much more resource and time consuming.

# We switched our dev/stage env to containers 2 year ago.

# We have made our own standalone app in Docker style. Once again - Easy as pie.

if you are a developer you should add Docker + Docker Compose to you working tools.

lottin 5 hours ago 3 replies      
I guess I'll never get it. Don't most OSs already run processes isolated from each other, have advanced process scheduling mechanisms and manage access to hardware resources? Also with static linking nothing stops you from creating huge binaries that "will run anywhere".
bbcbasic 7 hours ago 2 replies      
I've read before on HN about 'don't use docker in production' can anyone elaborate on that for a newbie?
chewxy 2 hours ago 1 reply      
This is not quite related to Docker/Kubernetes, but a phrase in the article triggered memories about a very good book that I think everyone should read - The Box by Marc Levinson. It really is a fascinating book.
AJRF 3 hours ago 0 replies      
On VM's:"Underneath it all is the host operating system that makes all of these guests believe they are the most important thing in the world. You can see why this is a problem."

Two paragraphs later (On containers):

"The only operating system on the server is that one host operating system and the containers talk directly to it."

dkarapetyan 7 hours ago 1 reply      
> The promise behind software containers is essentially the same. Instead of shipping around a full operating system and your software (and maybe the software that your software depends on), you simply pack your code and its dependencies into a container that can then run anywhere and because they are usually pretty small, you can pack lots of containers onto a single computer.

Already got it wrong. Current containers are exactly the OS and the kitchen sink for running 'printf("hello world")'.

llcoolv 3 hours ago 0 replies      
lol. read two paragraphs => click author's name to verify he's got no actual tech background. life is boring.
simula67 7 hours ago 2 replies      
Putting a little bit more thought into naming things can help newcomers understand these concepts more easily. The word container is too generic, why not call it an 'application jail' or a 'virtual operating system' ?

Another word that is over used in our field is 'context'.

zk00006 1 hour ago 0 replies      
'WTF' really?
Thanks for the memory: How cheap RAM changes computing arstechnica.co.uk
42 points by rbanffy  4 hours ago   33 comments top 6
jagermo 1 minute ago 0 replies      
I love getting ram on the cheap. I don't really use it, but just having an insane amount of it is so satisfying.

Star Citizen will probably get its own ram disk, if priced keep on dropping

shishiwakamaru 1 hour ago 1 reply      
"Presented by SAP"

"SAP HANA is the in-memory computing platform that enables you to accelerate business processes, deliver more intelligence, and simplify your IT environment"

baldfat 32 minutes ago 0 replies      
Commodore 64 RAM Disk. I remember having 64k of RAM soldered on a generic bread board with a 9V battery as backup. It made the computer ridiculously fast when you had slow floppy drives for I/O. I also made it work for the Amega but the payoff was much lower and I stopped using it because the floppy drive and hard drives were faster and the bottle neck was at the CPU.

Video Production - If I could store my video projects in a RAM Disk it really would be pretty amazing. The issue is SSD have really been able to speed up the input so much that the benefit would be much smaller. In video your write to disk is actually very small and usually only happens while you import, preview or render (Which is faster on GPU RAM). There is a lot of work to get a production RAM Disk up and being ready with a low benefit. It still would be nice to have all my clips just reside in Ram and able to "real time" render with less stutters on previews.

Data "Science" - I most use R and that is 100% in memory so it certainly has been a boom for that in my own usage. 64 GB of RAM is pretty cheap and then I can also use Spark if it isn't enough. My current biggest time restraint for big data sets is getting the sets more then anything else. Having large data sets reside in a RAM Disk would really speed things up but we now have Spark for the actual big data sets.

jon_richards 2 hours ago 6 replies      
I'm honestly surprised we haven't seen consoles that store the entire game in RAM yet. Load times for consoles are absolutely insane.
imaginenore 1 hour ago 1 reply      
Used server RAM has been ridiculously cheap. You can get 256GB for $383:


128GB for $144:


melling 1 hour ago 1 reply      
You'll see people complaining about memory usage for editors and IDE's. A few years ago it was Emacs, "the memory hog". Today it's Atom.

The usual complaint is often "you shouldn't need a modern computer to use an editor".

What people fail to realize is that Moore's Law and memory eventually make the problem go away. Spend a little extra on memory today and don't make memory requirements a deciding factor.

Show HN: CSS ICON, an icon set crafted by pure CSS cssicon.space
77 points by wentin  5 hours ago   15 comments top 10
amelius 1 hour ago 0 replies      
Why not just use SVG inside a data url? E.g., as in [1].

[1] https://en.wikipedia.org/wiki/Data_URI_scheme#Examples

zhan_eg 2 hours ago 0 replies      
Well, for me on Firefox 50.0b6, Chrome 54 and IE 11 on Win 8.1 the previews look the same, but then there are some differences when you check a specific one - for example the smiley has an upper lip on Firefox - http://cssicon.space/#/icon/smiley :) http://i.imgur.com/XlqKPhW.png.

Still the idea is very cool, you can basicly do anything with CSS (if anyone is interested check https://cssquests.com/ , the name is self-explanatory :)

From a performance perspective, how do those compare to using SVG icons?

_puk 2 hours ago 1 reply      
Not sure about the smileys, but the functional icons are pretty neat, thanks for sharing.

Slightly OT, but the codepen highlighting of the various steps taken is incredibly intuitive, and does a great job of visualising how these icons are built up.

However, it does highlight (for me personally), the abuse of the before and after pseudo elements; Essentially it is giving you three layers, great. Want 4, add another sub-element in your html (<i>) and you get three more.

Whilst a neat trick, how this is better than having a contained icon in say SVG?

myfonj 26 minutes ago 0 replies      
Really nice execution!

I remember seeing similar projects [1][2] in the past and pondered usage of the `currentColor`.

Btw, there are several occurrences of white components [4]; they are necessary for "breaking" lines, but surprisingly there are very few of them and overall do't break much [3].

[1] http://cikonss.zzapdeveloped.it/ [2] http://one-div.com/ (warning, hugely ad infested currently)[3] console: document.styleSheets[0].insertRule('.iconWrapper,.iconViewer{background-color: #999 !important}',0)

bhouston 1 hour ago 1 reply      
What is cheaper CPU and download wise? CSS icons or font icons.
OJFord 45 minutes ago 2 replies      
Assuming I can find an equivalently desirable icon here, in font awesome, or an SVG; which should I prefer?
qz_ 1 hour ago 0 replies      
This looks very cool, but why would you use this instead of using svg?
nik736 1 hour ago 0 replies      
Very cool, good job! But what's the use-case?
MattBearman 2 hours ago 1 reply      
Very cool! I'd never seen the `currentColor` option for borders, great to learn about that.

Some of the icons don't look great at the small size, particularly the smilies (Chrome 53 on OS X)

BillyKelly 2 hours ago 0 replies      
I like clicking on a class and selecting the item. Good job. On Opera 40.0.2308.81 work and Chrome 54 good work.
Virus stole poison genes from black widow spider bbc.com
155 points by kawera  10 hours ago   25 comments top 7
Herodotus38 9 hours ago 2 replies      
Robert Weinberg's The Biology of Cancer has a great chapter on the early history of cancer research and its connection with virology and a chance occurrence leading to discovery.

There was a chicken breeder who noticed that some of his birds were getting tumors and he brought them to Rous, who exposed healthy bird cells to an extract of the tumor. He was able to figure out that in this case cancer was being transmitted by a virus. Later analysis showed that the virus itself doesn't cause cancer, but that this particular strain was "lucky" and picked up an oncogene (basically took a normal tyrosine kinase gene that is involved in the cell cycle from a chicken and incorporated it into the virus, making cell replication more rapid).

This happens all the time with retroviruses in the wild. I find it interesting because the key to the virus' ability to cause tumors actually lies in using the normal cells' own machinery. Sort of like uncovering an ancient archeological site and decoding a text only to see it is about your civilization!

cronjobber 7 hours ago 1 reply      
> "genetic theft" ... "chunks of arachnid DNA were probably stolen"

...wrote the journalist who also moonshines as RIAA pamphleteer?

(I find it more illuminating to think of the gene being the active party, hitching a ride on a new vehicle.)

Mtinie 9 hours ago 3 replies      
I didn't see anything in the article that referenced this, but why is the assumption being made that the virus acquired the genes from black widows and not the other way around?
sidcool 9 hours ago 5 replies      
Evolution has some very interesting ways to increase chances of survival. Still most of the species that ever lived are extinct today. Those alive have beaten great odds.

Viruses are the enigma of evolution. Are they just chemicals, or living?

OrthoMetaPara 9 hours ago 1 reply      
> The researchers think the virus uses latrotoxin to enter animal cells and reach the bacteria that it targets.

How would it do that? The phage can't synthesize latrotoxin itself, so it would need to instruct its bacterial host to produce it. Can bacteria even produce this toxin properly, with all proper post-translational modifications?

Secondly, how is it even obtaining the spider DNA when it infects the bacteria. I've heard of viruses packing extra nucleic acid from their hosts into their particulate forms when they replicate, but how does the spider DNA get into the bacteria so that this can happen?

kyled 10 hours ago 0 replies      
Very cool!
smmnyc 9 hours ago 0 replies      
It took me way too long to realize the article was not referring to a computer virus.
A Tour of Pythons Data Visualization Landscape, Including Ggplot and Altair dansaber.wordpress.com
139 points by kawera  9 hours ago   22 comments top 10
leephillips 10 minutes ago 0 replies      
If you are not yet strongly attached to a graphing solution I'd like to suggest gnuplot. It can be used with Python through a thin library, by commanding it through a pipe, or simply by writing your numbers into a file that is read by a gnuplot script.

It's better suited to scientific-style graphs than such things as bar- or pie-charts, but it can be cajoled into making those, too.

There is some advantage to decoupling your visualization task from the rest of your computation.


listentojohan 3 hours ago 4 replies      
Starting out with R and later moving more into Python I absolutely hate the seemingly unnecessary complexity of matplotlib. Honerable mention is also bokeh - http://bokeh.pydata.org/en/latest/ which does a nice job.
elsherbini 1 hour ago 0 replies      
By far the easiest way I've found to plot data from pandas dataframes is plotly with the cufflinks wrapper[0]. For anything that isn't easy using cufflinks, I have started learning R only because of ggplot2.

I see a lot of comments saying matplotlib is easy to use. It isn't. If you have to write a for loop to iterate over your data to make a bar chart where you define the x and y by hand, that's not as easy as it should be. If you have to write a library to use your library, it's overkill for most plotting. For that kind of power, I'd do it in javascript with d3js so I get css for the styling and a much easier path to interactivity.

[0] https://plot.ly/ipython-notebooks/cufflinks/

shamino 8 hours ago 2 replies      
This is interesting. I have to say that for all the power that Python has in the scientific community, and scientific computation in particular, visualization has a long way to go. There are charts I made 5 years ago in C++ using a framework called ROOT that was much prettier. ROOT was only maintained by a couple of people at the time. This was particle physics.



adrianratnapala 6 hours ago 3 replies      
matplotlib: The 800-pound gorilla and like most 800-pound gorillas, this one should probably be avoided unless you genuinely need its power...

Hmm, I never even considered that matplotlib was some sort of high-end powertool. At least not when using the old-fashioned MATLABish API. If the advantage of the competition is that they are supposed to be easier to use, then I will stick with matplotlib.

dnprock 6 hours ago 0 replies      
You missed this: Custom visualizations for Jupyter


Disclaimer: I work at vida.io.

agravier 7 hours ago 0 replies      
My go-to library, not mentioned in this post, is plot.ly in offline mode for easy things. Matplotlib for custom plots where I want fine-grain control and extra stuff such as using my own shapefiles.
wodenokoto 4 hours ago 0 replies      
Theres a few things missing in this comparison:

How do you go about plotting things that aren't in a data frame? And how do you customise your plots?

_ZeD_ 7 hours ago 0 replies      
while obsolete, I still prefer working with PyQwt - http://pyqwt.sourceforge.net
nerdponx 6 hours ago 0 replies      
Better than any of these: R plotting with rpy2.
Show HN: I made a Chrome extension that helps battle impulsive procrastination chrome.google.com
235 points by redpanda_ua  13 hours ago   103 comments top 38
acomar 11 hours ago 26 replies      
Maybe this is the wrong thread for this comment, but I'm wondering if I'm alone in this. Anyone else find they procrastinate for reasons another than a habitual need to check e.g. reddit/HN? I find for myself, it's very rarely that I'm procrastinating without any reason, but instead that I'm actively avoiding whatever it is I think I should be doing for any number of reasons.

The list includes:

 * I don't have a clear handle on what I should be doing * I don't understand how to do whatever it is I should be doing * I'm tired/fried and not able to think clearly * There are way too many different things vying for my attention (too many things I should be doing)
And probably more that I'm not recalling at this moment. So this extension, at least for me, would be solving the wrong problem and sometimes even making it worse. Anyone have strategies for tackling/mitigating these problems?

redpanda_ua 13 hours ago 6 replies      
I noticed I can visit same websites (twitter, reddit, HN) few times in the span of 5 minutes. And I don't usually even notice that, it's like a habit. To help me break the loop I made this extension.

It only has basic functionality right now, and I want to add some form of statistics, and maybe more in depth personalization tools.

Apart from that, I also plan to port it at least to Firefox, but may look into Edge and Opera.

Would love your feedback, thanks!

misnome 11 hours ago 2 replies      
Let me guess: You had some important work to do and this was the result?
davidrusu 11 hours ago 1 reply      
There's a few of these plugins.

What I actually want is a plugin that makes the time wasting sites unbearably slow. This way if I need to check something on one of these sites, I can do so without disabling the plugin.

Maybe you can do something with increasing latency the longer you stay on the site.

gregmac 11 hours ago 0 replies      
I've been using Momentum[1] for Chrome for the past few months. Turn off the quote and other distractions (unless you're into that), and basically it's a nice-looking TODO list you see every time you open a new tab.

I just use this for my day-to-day stuff, and try not to keep anything there for more than a week or so (basically: if it's there that long, it's not getting done). I really love adding small things that I can get done in 5-10 minutes, and I just don't use it for things that take days.

When I'm waiting for something to finish, or am between tasks with a meeting that's going to interrupt me if I really get into something, it's great to pick up something fast that I've already thought about a bit and can just get done. It hasn't eliminated my being distracted, but because it shows up when I press Ctrl+t it often catches my attention and I do something from my list instead of going to HN or twitter or something.

[1] https://chrome.google.com/webstore/detail/momentum/laookkfkn...

Solinoid 12 hours ago 0 replies      
Similar addon for Firefox: Leechblock. It lets you make collections of URLs and rules on how often you can visit them within x minutes, then it either blocks them completely or institutes a delay. I've found it helpful as I can easily whittle away my time aimlessly wandering the web (especially so with neverending pages).


40acres 12 hours ago 0 replies      
If you were truly a procrastinator you would've posted this tomorrow morning.
ryanbertrand 12 hours ago 0 replies      
I have been using the Go Fucking Work extension for the past few months. It works well.


drcode 11 hours ago 1 reply      
Question to extension devs: When Chrome warns me that an extension can "read all the websites I visit" does that mean it can also send that info to an external server, or just that the sandboxed extension on my local machine can read that data?
supersan 11 hours ago 1 reply      
Genuine question to the people who use these extensions. Do you get some significant result from using it or is it more about good in theory only?

My personal experience is more on the lines of yes, good idea but then I'm back to my same old patterns again in 2-3 days. The longest I've used is the dayboard new tab page extn but only to see those 5 to do items on it for months.

sotojuan 11 hours ago 3 replies      
The best of this kind of apps I've found is Focus for Mac[1]. It works at the OS level, allows you to block apps and sites, and doesn't get disabled if you restart the computer.

A downside is that it's not free.

[1] https://heyfocus.com/

snoonan 10 hours ago 0 replies      
Debilitating procrastination can actually be issues with conscious control of attention/executive functions (ADHD being one of the main presentations of this). The other side of this is strong tendency to hyperfocus, whether on the right things or wrong things. Both occur without choice and are just different sides of the attention/behavior control problem.

Some developers don't notice this tendency because their default attention (not actual choice) just being drawn to productive activities like coding and liking it as well. But when that doesn't happen and you can't pull out of the procrastination loop, it can be very confusion and unpleasant experience.

jbverschoor 5 hours ago 0 replies      
Looks nice. although I'd like to be able to add just google finance. It's one of the site I go when I'm stuck, but the domain is google.com/finance.

So wildcards or regular expressions would be nice. (wildcards are probably easier to maintain)

praveer13 7 hours ago 0 replies      
My favorite tool to use while working is Block and focus - https://chrome.google.com/webstore/detail/block-focus/dcpbed...

It allows you to set a pomodoro timer and block websites at the same time.

dingo_bat 9 hours ago 1 reply      
I recall reading somewhere that Chrome apps would be discontinued on Windows and Linux. If so, would stuff like this also go away? Or does this count as an extension?

PS: news link http://gadgets.ndtv.com/apps/news/chrome-apps-to-be-disconti...

tkazec 11 hours ago 0 replies      
Great concept! These days I just block sites in my hosts file, but I also developed a Chrome extension based on the concept of "regulated distraction", Morphine:


Also open source on GitHub:


Zyst 10 hours ago 0 replies      
As an (existing) alternative of sorts I use Toggl[1] I used it because the application I used for Pomodoros was a Chrome App, and those are dying soon.

It has an option to "Remind you to track your time"[2].

Anyway, at least seeing the alarm usually gives me enough guilt that I end up going back to work.

[1] https://toggl.com/

[2] https://puu.sh/rLAvu/463eb95d09.png

tvural 7 hours ago 0 replies      
For coding specifically, I find that I procrastinate much less when I'm debugging. Having the compiler give me bite-sized, well-defined tasks to complete can be very good for morale. So I try to avoid writing code for more than an hour or so without testing some part of it.
aarreedd 11 hours ago 1 reply      
I have been thinking about making an extension that shows you how long you've wasted today. Whenever you visit a time-wasting site there would be banner ticking away.
mattkrisiloff 10 hours ago 0 replies      
This is cool! I like that it's lighter weight to change settings than w/ Self Control (which I'm also a fan of). It'd be cool if there was a setting that stopped letting you visit a site after you've been there X times per day or spent X hours browsing it.
0xmohit 5 hours ago 0 replies      

 I made a Chrome extension that helps battle impulsive procrastination
I'll check it out soon.

jbverschoor 5 hours ago 0 replies      
If I temporary disable it for a site (hackernews), it doesn't reenable automaticallu
qwertyuiop924 11 hours ago 0 replies      
...The problem is, this extension likely wouldn't help me: You'd have to lock me in a room with access to only my work to keep me from procrastinating, and even then there'd be a lot of staring into space.
LeoNatan25 11 hours ago 0 replies      
Hey! A very cool idea! Any chance you'd build one for Safari as well?
t3ra 4 hours ago 0 replies      
I have been using LeechBlock for this (it works on Firefox)
dvcrn 11 hours ago 0 replies      
I am using little snitch with a "No Distractions" profile, then use OSX's portable hotspot to connect to phone to have the same rules.

Gets rid of everything, including push notifications when set up right.

nprz 10 hours ago 0 replies      
Very cool! One addition I think would be cool and not very hard to implement would be a timer to see how long you've been working for.
intruder 10 hours ago 0 replies      
Cool extension but doesn't seem to work sometimes? I added HN and sometimes it's blocked sometimes it's not. What gives?
partycoder 11 hours ago 1 reply      
Stayfocusd is exactly the same concept.https://chrome.google.com/webstore/detail/stayfocusd/laankej...

This thing has existed for a while now.

The problem is that extensions can be deactivated by just opening a tab in incognito mode, which is one keystroke away and disables all extensions by default.

I just block the websites using a hosts file. Finally if you want to be productive try a time tracker app. It will tell you how much time you spent using which application.

Another approach is just download all documentation (e.g: Dash/Zeal) and work offline.

pavanlimo 11 hours ago 0 replies      
I like how it's just enough obtrusive. Not too much, not too little. And quite easy to add sites to the list.
fak3r 10 hours ago 0 replies      
Meh, I'll install it later.
akhilcacharya 9 hours ago 0 replies      
Is this like StayFocusd?
Keyframe 11 hours ago 0 replies      
Thanks! This will help, i'm sure. Added HN first. See you guys less often!
sytringy05 10 hours ago 1 reply      
the irony of seeing this top on Hacker News is delicious
evanrelf 11 hours ago 0 replies      
Doesn't work with [Feedly](feedly.com).
Lxr 11 hours ago 0 replies      
Is there a tool like this for Android?
parennoob 11 hours ago 1 reply      
Why does this extension (and similar ones I have used in the past) require permissions to "View and Change data on all websites you visit"? That's mildly concerning at least, and "No way I'm installing this" at best.
ilostmykeys 10 hours ago 0 replies      
Show HN: Rebridge A transparent bridge between JavaScript and Redis npmjs.com
35 points by CapacitorSet  4 hours ago   14 comments top 6
Illniyar 2 hours ago 0 replies      
To each is own, but experience has taught me that IO operations should never be implicit, that just setting you up for a world of trouble.
prashnts 35 minutes ago 0 replies      
I think OP meant transparent in essence that you can (in some environment?) just drop-in the library for a quick persistence? Say, some single-time use script (a quick scraper?). In such cases, it is less syntax heavy. Not every code one writes has to be production ready.
clutchski 2 hours ago 0 replies      
Code that obscures network access is not good. How do you handle errors, retries, reconnects, timeouts, etc?

It's not worth it :)

steve_taylor 3 hours ago 0 replies      
It's opaque, not transparent.
est 3 hours ago 3 replies      
So basically

 db.hello = {world: ["foo", "bar"]};

 db.set("hello", JSON.stringify( {world: ["foo", "bar"]}))
Why we don't have macros already.

partycoder 3 hours ago 2 replies      

A quick review...

1. Could have made your life easier using promises or equivalent to handle the asynchronous flows.

2. Could have made your life easier using lodash instead of implementing recursive functions that can throw stack overflows.

3. JSON.parse can throw with invalid JSON and JSON.stringify can throw with circular references. There might be other cases in which those throw.

4. Line 25: "if key is inspect, return thing". That wasn't in test code, but in the actual library code. That would execute in the application using this library.

...And that part was the one that pushed me over the edge and the extent of my review. I punched my keyboard.

Then, you claim it handles a redis connection transparently. But nobody would use a redis server without redundancy, you need a redis sentinel somehow, and this does not support it. When you have a sentinel you need to handle failover events. The library does none of this, and is therefore not suitable for production use.

.NET on Linux bye, Windows 10 piotrgankiewicz.com
104 points by spetz  8 hours ago   93 comments top 12
scandox 2 hours ago 6 replies      
The real story here is the forced updates. How do people who are planning demos and presentations handle this? It's my worst nightmare.
rafaelvasco 20 minutes ago 0 replies      
If it's a pure dev machine than it's already feasible, but not perfect yet. If it's an all purpose machine , ie. gaming, dev, sound vsts etc. Than no. Mainly because of the gaming side unfortunately. I hope Vulkan starts to change that. Btw.: I'm intrigued about the forced updates. Never had them. Computer only updates when i want. Maybe i changed some config when installing the OS.
kierenj 2 hours ago 2 replies      
I've been spending some time putting together a framework for .NET Core API/platform development. The main problem with it currently is the lack of compatible libraries - I've had issues with DI containers, cloud provider libraries, AOP frameworks and more. Not to mention EF Core is still way off in terms of production viability. ASP.NET Core is very tasty as a plus.. and there's always Mono to fill the gap in terms of "full framework" missing functionality.
jdking 3 hours ago 1 reply      
Looks like a sensible option for .Net Core development. VSCode and the command line tooling look to be pretty decent. I would really miss LINQPad though.
aargh_aargh 3 hours ago 6 replies      
Can I have Paint.NET on Linux yet?
UK-AL 3 hours ago 2 replies      
I tried this for a months, but eventually moved back.
elorant 2 hours ago 5 replies      
Windows 10 is a clusterfuck of an OS. Installed it on my dads PC, a simple machine with browsing software and a few arcade games. Didnt go with the full install, instead did an upgrade from Win7. Everything was honky dory until it downloaded a ginormous 1GB update. The update failed and now every time he shuts down the update tries to install again. It takes north of five minutes to shut down. Install, fail, rollback, then shutdown. Every single time. I even tried to install the update manually but failed again. I dont have time for this shit.

Ill give them a couple of years to polish .NET on Linux and then Im off Windows. I love C#, VS and everything Microsoft produces on the developer front but the OS is fucking toxic.

flukus 8 hours ago 3 replies      
I still have to wait for sql server to be ported. But my day job as a c# dev is the only thing keeping me on windows at the moment.
IshKebab 3 hours ago 5 replies      
> Before I did manage to install a fresh system on my laptop I had to disable UEFI, create valid partitions with special flags etc. it took me a while to figure this out, yet it wasnt that difficult.

Ha, right here is why "the year of the Linux desktop" will never happen. It's basically a kit car. Some people may find it "not that difficult" to weld a chassis together and rebuild an engine, but it's never going to be mainstream.

tychuz 2 hours ago 0 replies      
Well, domain name made me think about this old sketch: https://www.youtube.com/watch?v=GlOoSsfU6cM
silicon123 2 hours ago 0 replies      
if there would be WPF support on linux it sure would be a competitor but if you are stuck with desktop applications I'm afraid, it's still Win
draw_down 1 hour ago 0 replies      
I'm not a huge fan of Linux as an everyday desktop OS, but god, Windows is so awful. It's nice to know the .NET ecosystem is so different from what it was like back when I used to work in C#, and was pretty much forced to use Windows for that reason.
Russia Today's UK bank accounts frozen, says editor theguardian.com
28 points by tomp  1 hour ago   10 comments top 3
lhnz 26 minutes ago 1 reply      
Does this connect to the other report about Julian Assange's internet [0] being cut by state powers? It is honestly really difficult to believe that this is a coincidence. And, although obviously this opinion is completely circumstantial, perhaps a clearer head should look closer.

If it is the US government moving to constrain other powerful media establishments that could counter their voice, it does make you wonder what they are so worried about being released.

Are the emails really so bad they could lose Hillary the election? That would surprise me.

I guess what is particularly strange to me, is why do this now? If they knew they were badly exposed, surely they could have taken action a long while ago when the spotlight on their activity was lower.

[0] https://twitter.com/wikileaks/status/787889195507417088 (HN comments: https://news.ycombinator.com/item?id=12722929)

retox 37 minutes ago 2 replies      
The tinfoiler in me thinks this is linked to the recent Wikileaks activity. The powers that be are scared.
tptacek 10 minutes ago 4 replies      
It apparently turns out: RBS is simply dropping them as a customer. The UK has not frozen their accounts.
Fujifilm X-T2 review: for the love of photography theverge.com
19 points by Tomte  2 hours ago   5 comments top 3
rplst8 15 minutes ago 1 reply      
I up-voted this because I think the Fujifilm X series cameras need more love than they currently get.

I have an X-E2 and I love it, but I'm very curious to see if they release an X-E3 and what features of the X-T2 and X-Pro2 it will incorporate.

The whole X series is a pretty great system IMO. The designs are simple, bodies offer fully manual control, the lenses are extremely high quality, and certain models of lenses are much smaller than DSLR counterparts (18mm, 27mm, 35 f/2).

If you like classic manual cameras, especially rangefinder style ones, you'll like the X-E1/2 and the X-Pro1/2. The X-T2 however, is sort of an "SLR" format camera with the viewfinder in the center, which I'm not big on. One of the major advantages of mirrorless cameras (for me) is that you are able to put the viewfinder on the side and keep the camera's screen from smashing your nose when you shoot.

If you are into photography and haven't considered the Fujifilm offerings, I highly recommend that you do.

P.S. Fujifilm's engineers are continuously updating and refining the firmware from user feedback. With the 4.x release of the firmware for my X-E2, it add a boatload of features and really made it into the camera of my dreams. The 16MP sensor is getting a little bit dated, but that is going to happen with any camera. Plus, their X-Trans technology offers some advantages over traditional Bayer array sensors.

gerhardi 25 minutes ago 0 replies      
As a amateur photographer, I have always been attracted to the Fuji X-series products. Currently I'm packing Nikon FX system but before my current camera body I had X100s which I carried with me on many trips and really loved the results and the joy of photographing with it. The fixed focal length was non-issue 95% of the time. Now having returned to the Nikon system, I can totally get results that are what I'm expecting but it doesn't feel the same! Maybe one more generation and I'll sell my FX gear and move to the Fuji camp.

With X-series Fuji provides the proven UX to handling the exposure settings, compact sizing and excellent image quality. Secretly I'm still hoping for a compact Nikon mirrorless FX body with Df / Fuji X / traditional exposure settings. Let's see!

desireco42 18 minutes ago 1 reply      
While definitely great camera, I don't think it compares favorably with Sony's offering. A6000 and A7 (II) series.

Previous model of this Fujifilm camera also got raving reviews from Verge and was mocked in photography circles. The review, not the camera.

Open Source is not dead: On the recent demise of RethinkDB deepstream.io
17 points by EpicWaligora  3 hours ago   4 comments top 2
mej10 30 minutes ago 0 replies      
I was surprised to hear that RethinkDB was shutting down, since everyone that used it seemed to like it.

I looked into their business model a bit more... and it was like, super difficult to figure out how to actually pay them for anything. Seems like having a push-button managed DB option on AWS/Google Cloud/Generic would've been awesome for them? The company just didn't seem like it was set up to make money even though people liked the product.

I know, hindsight and everything... but without going to a page linked from a random github issue that I found via Google I couldn't even find a page talking about pricing. To build a business you have to not only make something people love... you also have to let them pay you for it.

johan_larson 1 hour ago 2 replies      
We discussed this recently at Couchbase, where I work. Couchbase is mostly open source. You can build most components of the database system, but the installer and some of the more enterprisy bits of the codebase are closed-source. You could, say, build the complete query engine and drop the very latest code into an existing installation.

We don't have any users who contribute to the codebase. But there are a few elite users out there who build their own components for debugging purposes. This lets them send us very precise bug reports that get acted on quickly.

So, all in all, we get a little bit of benefit from being mostly open source.

A Kickstarter idea could be on sale in China before fundraising has finished qz.com
29 points by sergeant3  1 hour ago   20 comments top 8
aaron695 1 minute ago 0 replies      
The Chinese copy because they have a billion people to get out of poverty.

And years of catch-up.

Makes 100% sense, no need for innovation yet.

Just sucks if you are in a rich country.

sharemywin 35 minutes ago 0 replies      
I think alibaba is missing a huge opportunity. They need to create a kickstarter type site where 1-3% of the sales go to your design and anyone can copy it and sell it on his site(s) and you get the design fee.
lhnz 54 minutes ago 1 reply      
Whether or not we see the value in selfie-sticks, we surely must find at least a little value in people that design solutions at least being able to recoup the costs of development?

It's quite likely, that there are solutions that exist that will take a large amount of investment, but yet once created will have little economic moat to protect themselves from duplication.

Not all of these solutions will be as frivolous as a retractable selfie-stick, and with a financial disincentive to investing in designing them, we create a very low likelihood that these solutions will be created.

That said, I guess unless someone can come up with a cheap system to ensure originators get paid, there's very little that we can do other than express outrage.

lordnacho 23 minutes ago 0 replies      
What's the big deal? The discovery in this case is not how to build a selfie stick box, it's the realisation that people want to have such a thing. That shouldn't be patentable, it should in fact be the free-for-all that it is.

It's no different than putting up a picture of a burger with 4 patties made of different meats, with a soft-ice on top and a waffle on the bottom. It's not a mystery how to make it, it's a mystery why anyone wants it. But if loads of people express admiration for it, why on earth should there be any protection for the guy who came up with it? He's not taking the risk on buying the meats, setting up a shop, marketing, and so forth.

stuaxo 18 minutes ago 0 replies      
> Yet Sherman estimates that he has lost hundreds of thousands of dollars in potential revenue due to copycats.

OK, but how much real money has he lost.

I lose millions of pounds of potential money every time I play the lottery.

dogma1138 55 minutes ago 0 replies      
I've also seen things in reverse where silly ideas "inspired" by cheap Chinese gadgets would appear on crowdfunding sites.

There is no point to compete with China on cheap accessories, anything that is not service based or is prohibitory expensive or complicated to make will be copied before you get even the initial samples back for evaluation.

tocotun1 1 hour ago 2 replies      
Did he actually think this idea would make him rich? Was he that naive? I mean it's a damn retractile stick, there's no actual value to it, of course it would be copied to oblivion...
0xmohit 45 minutes ago 0 replies      
I am really amazed looking at how popular selfie-sticks continue to be despite causing injuries and deaths [0].

[0] https://en.wikipedia.org/wiki/List_of_selfie-related_injurie...

Teslas unexpected new product reveal postponed til Wednesday techcrunch.com
6 points by CapitalistCartr  1 hour ago   2 comments top
jfoster 22 minutes ago 1 reply      
I think the article is on the wrong track regarding autopilot speculation. It seems unlikely that "a new product unexpected by most" would end up being an autopilot upgrade.
Cheran: A town that threw out police, politicians and gangsters bbc.com
89 points by kawera  10 hours ago   65 comments top 8
code_sardaukar 6 hours ago 7 replies      
As a former "left-anarchist" I'm familiar with this sort of story. We had similar stories of left-anarchist utopias from (1) pirates (2) partisans in the Spanish civil war and (3) various "workers collectives" throughout history. None of them lasted and most collapsed due to internal problems not being crushed by the nation state.

What has been shown to work in the long run, is Western democracy.

phantom_oracle 9 hours ago 11 replies      
When reading stories like these, I sometimes wonder how happy these modified-subsistence-living folk are.

They will likely never see most places beyond their small farming-community town, probably won't do air/train/ship travel and they probably will never see even $X00,000 in net-worth.

But sometimes it seems that they are probably happier than the rest of us. Sitting in our cubicles, working 80 hours per week for 40-hour/week jobs, just to earn that little more money or get a slightly better job-title.

While they enjoy the land, the openness and live directly next to nature, the rest of us just "consume".

We eat, cohabit and slog away the valuable asset of time, just to repeat this cycle. We site behind keyboards, spending "10,000" hours mastering things that don't matter as much as the food we need from these kinds of people (who seem like farmers). We create pointless profiles and indulge in the gamification of these centralized ad-monsters, who steal our time through artificial "likes", "retweets", "upvotes", "stars", etc.

Granted, these people are homogenous and can make a system like this work. I just hope that the poison of alcoholism doesn't ruin them and what they're attempting to do in a country that is somewhat ravaged by drugs/cartels (or pointed out to be by the centralized mass-media cartel).

adrianratnapala 8 hours ago 0 replies      
This is all interesting food for thought. I can't say I am thrilled by what that town is doing, but I can imagine it is better than the status quo ante.

It makes you wonder if the nation-state model of government has been extended into places where earlier, tribal models would have been less bad. And Mexico isn't even much of a failure.

Here is the kind of thing that makes me quesy:

Its ban on political parties, meanwhile, has been upheld by the courts, which have confirmed its right not to participate in local, state or federal elections.

OK, I see why they have the ban. But it also to curtails the right of the individual citizens to vote. Should any collective really have that right in a democracy?

Steeeve 8 hours ago 1 reply      
> Political parties were banned - and still are - because they were deemed to have caused divisions between people.

What an insightful thing to do.

dharma1 4 hours ago 0 replies      
Reminds me of the autodefensas, as depicted in the excellent documentary Cartel Land


yumaikas 9 hours ago 0 replies      
I admire this community banding together to kick out the (rather corrupt, if I understand Mexico) police, politicians and gangsters. It would be nice if most Americans would self govern at the same level, be we seem to have too many differences to be able to pull that off outside of the stray small town.
exabrial 7 hours ago 1 reply      
If they threw out lawyers and insurance companies, hell I'd move there :P
HillaryBriss 9 hours ago 5 replies      
> Every vehicle is stopped, its occupants questioned about where they have come from and where they are going.

This is great and all, but it's not truly consistent with an American style of democracy which respects the rights of individuals to travel freely.

It's easy to imagine what would happen to any US city/county/region which set up a check point with the sole purpose of asking those questions of every person who passed through it.

LightGBM A fast, distributed, gradient boosting framework github.com
83 points by gwulf  11 hours ago   11 comments top 6
tadkar 1 hour ago 1 reply      
This looks like an interesting project. I'd take the accuracy results with a pinch of salt because growing deeper trees often improves accuracy and in the test scenario xgboost is handicapped by limited depth. As the author says on reddit its difficult to do an apples to apples comparison of the two methods directly, because their approach to growing trees is very different [a bit like DFS vs BFS]

The thing that is more relevant for 'real-world' data is whether this library supports categorical features at all. The answer seems to be that it doesn't (then again neither does xgboost).

The text in the Parallel experiments section [1] suggests that the result on the Criteo dataset was achieved by replacing the Categorical features by the CTR and the count.

[1] From https://github.com/Microsoft/LightGBM/wiki/Experiments#paral...:"This data contains 13 integer features and 26 category features of 24 days click log. We statistic the CTR and count for these 26 category features from first ten days, then use next ten days data, which had been replaced the category features by the corresponding CTR and count, as training data. The processed training data has total 1.7 billions records and 67 features."

TheGuyWhoCodes 10 hours ago 1 reply      
Looks fantastic!

I'd love to have a python interface for this, just drop a pandas frame, maybe scikit-learn interface with fit/predict.Saving/Loading models...This will definitely boost adoption.

nl 3 hours ago 1 reply      

At least 3 times faster than XGBoost AND more accurate. Wow.

I'm off to Kaggle now.

itschekkers 2 hours ago 0 replies      
looks nice, especially in reducing memory use. it would have been great if they built in k-fold cross-validation by default too
nerdponx 6 hours ago 0 replies      
Very interesting. Growing trees "leaf-wise" is more intuitive in my opinion.

That said, I don't see a single equation on that page. Is there an Arxiv paper or something behind this?

botexpert 8 hours ago 0 replies      
10-20 year old methods implemented properly. Amazing.
Soviet scientists tried for decades to network their nation aeon.co
25 points by jonbaer  1 hour ago   3 comments top 3
danielmorozoff 1 hour ago 0 replies      
This is a fantastic writeup. this quote really struck me and seems very apt to today:

'Glushkovs story is also a stirring reminder to the investor classes and other agents of technological change that astonishing genius, far-seeing foresight and political acumen are not enough to change the world. Supporting institutions often make all the difference. '

patkai 1 hour ago 0 replies      
The Cybernetics angle is really interesting. I thought the Chilean Cybersyn project -https://www.theguardian.com/technology/2003/sep/08/sciencene... - led by Stafford Beer was an isolated case, but apparently not. An even more distant angle: I just read the autobiography of David Hilbert, and apparently he thought Norbert Wiener was an fraud of some sort. Cybernetics, Systems Science, Complex Systems - these draw a certain type person, and apparently a type of political system, too.
digi_owl 35 minutes ago 0 replies      
As best i can tell, the soviet system dreamed up by Lenin and cooped into a personality cult by Stalin was pretty much a bastardization of what Marx was envisioning.

Not that communism and Socialism was more than far flung ideals even for Marx. For the most part he was appalled by the working conditions of factory workers at his time.

That said, ol' Marx was not completely against capitalism. He did see that it had the capacity to rapidly industrialize a nation.

What he did point out though was inherent flaws in the system, flaws not just relevant to worker exploitation but also the whole engine of spending money to earning even more money. In that he perhaps noticed a hint of something that even present day mainstream economics has problem noticing, the feedback loops related to the flow of money and goods.

Notice that the article mentions in passing equilibria. That is a notion that is persistent within economics, even though it introduced more to make the math easier to work with back when it was done by hand and pencil.

these days all but economics have abandoned any notion of equilibrium, instead using computers to model complex systems and their feedbacks. Something that was spearheaded by meteorologists trying to improve weather prediction.

To go back to Marx, what he envisioned was more a transition from capitalist owned factories to worker owned factories. Coops essentially. Things like trading would still remain, as they provide vital means of signaling along the supply chains.

He did btw have some nasty things to say about finance capital, perhaps forewarning both the great depression and out present situation.

His great lament in that regard was that industrial capitalists were more likely to side with finance capital in any three way struggle between them and the workforce, when industrial capitalists would be better off in the long run to side with the workforce against finance.

I Am Fully Capable of Entertaining Myself in Prison for Decades If Need Be theintercept.com
164 points by gpresot  6 hours ago   67 comments top 16
emilga 5 hours ago 0 replies      
Interesting story. Reminds me of this story from Flow:

> Tollas Tibor, a poet who spent several years in solitary confinement during the most repressive phases of the Hungarian communist regime, says that in the Visegrd jail, where hundreds of intellectuals were imprisoned, the inmates kept themselves occupied for more than a year by devising a poetry translation contest. First, they had to decide on the poem to translate. It took months to pass the nominations around from cell to cell, and several more months of ingenious secret messages before the votes were tallied. Finally it was agreed that Walt Whitmans O Captain! My Captain! was to be the poem to translate into Hungarian, partly because it was the one that most of the prisoners could recall from memory in the original English. Now began the serious work: everyone sat down to make his own version of the poem. Since no paper or writing tool was available, Tollas spread a film of soap on the soles of his shoe, and carved the letters into it with a toothpick. When a line was learned by heart, he covered his shoe with a new coating of soap. As the various stanzas were written, they were memorized by the translator and passed on to the next cell. After a while, a dozen versions of the poem were circulating in the jail, and each was evaluated and voted on by all the inmates. After the Whitman translation was adjudicated, the prisoners went on to tackle a poem by Schiller.

roh0sun 2 hours ago 3 replies      
> The chairman and co-founder of Palantir is Peter Thiel the same man who more recently funded the lawsuit that destroyed Gawker, a media outlet that had angered him, and who served as the final speaker at the Republican National Convention. His firm continues to work closely with the U.S. intelligence community.
pmoriarty 2 hours ago 1 reply      
I always thought prison would be a great place to practice meditation. Even at home, where there are lots of distractions, I can easily spend hours meditating. In prison, with much more time to waste and a lot fewer distractions, I'd probably be able to focus for much longer and get really good at it, as the more you practice, the better you get, and the better you get the easier it is for you to meditate and the longer you can meditate.

Another reason meditation could be great for prison is that it could be a fantastic antidote to boredom. After a few weeks of regular meditation, I found I actually started to look forward to "boring" chores like brushing my teeth and waiting in line, which provided great opportunities for meditating (which consisted of just focusing on my breath).. and those boring times just seemed to fly by as I meditated and no longer seemed boring.

Yet another reason that meditation could help in prison is because it could be used to help one "detach", in the Buddhist or Stoic sense -- not to cling to things one desires, to be content with one's circumstances and surroundings, to help with pain, anger and other emotional issues, and just to achieve peace of mind.

Meditation need not rely on any physical items that can be taken away from you. If you use the technique of focusing on your breath -- your breath being something that will always be with you as long as you live -- it can always serve as an object of meditation.

Meditation seems tailor-made for prison (not to mention ordinary life, where it can also help).

scandox 3 hours ago 1 reply      
It's interesting that he references GURPS given that it was created by Steve Jackson Games, who were also raided by a Federal Agency and had their computers taken away without cause (Secret Service, I think). It is covered in Bruce Sterling's excellent The Hacker Crackdown http://www.mit.edu/hacker/hacker.html
pmoriarty 3 hours ago 1 reply      
I am reminded of something that I heard on the Alcatraz audio tour (which I strongly recommend if you ever tour Alactraz, which is awesome), where a former prisoner said he made up a game to help pass the time in his months of solitary confinement:

He'd take a button off of his shirt and throw the button down on to the floor of his cell, in the pitch darkness. Then he'd crawl on his hands and knees to find it. Then he'd repeat the process again.

mcv 4 hours ago 1 reply      
Part of me is actually a bit jealous that he gets to design an intricate campaign full-time. The bigger part of me is outraged that an innocent guy got locked up for uncovering a criminal conspiracy.
guelo 3 hours ago 0 replies      
One of our political prisoners.
hellofunk 3 hours ago 0 replies      
For some reason, this is something I have very often thought about. Not because I think I'll ever to go prison, but because I've often wondered what I'd do if I didn't have access to things that please me, like a musical instrument, or a computer. I've often thought that I would also be capable of keeping my mind excited without anything, and for me the one item that always stands out is that I'd commit myself fully to number theory and just think about integers and prime numbers all day and all night, for years, trying to work out the most basic puzzles in existence.

That would probably never happen, I'd more likely end up a depressed opiate addict, but the thought that it could happen, even in the face of incarceration, gives me a bit of strange solace.

fsloth 5 hours ago 1 reply      
Is there any other backstory available? What are the actual charges? Are there any?
mhd 5 hours ago 1 reply      
Former "nerds" having grown up, finding mentions of D&D is no longer really rare, but I'm always surprised where you find GURPS. I do wonder whether prisoners might find the increased realism interesting, as there's a higher likelihood that they might actually know a bit about losing "hit points". (If it's white collar crime, the point-based accounting might be a bigger incentive)
q-base 2 hours ago 0 replies      
Am I the only one surprised to find Peter Thiel's name in that article? Anyone who has anymore on that?
bobsgame 5 hours ago 5 replies      
I always imagined I could just program something on pen and paper and that would keep me busy, and when I got out I would have a masterpiece to sell.
Houshalter 5 hours ago 1 reply      
For those who didn't read the whole thing, the part referred to by the title is at the very end. This guy constructed an insanely elaborate RPG world, which it sounds like he plays by himself:

>I oversee some 70 fully realized characters as they pursue their blood-soaked vendettas against one another in accordance with the several handwritten pages of primitive, dice-based behavioral heuristics I have devised for them. Their entire world is limited to a map Ive drawn on graph paper and taped to my wall, their stage confined to my cells steel wall-mounted desk on which I have created an elaborate city consisting of dozens and dozens of buildings, vehicles, vending machines, trees, dogs, rats, surveillance drones, and dwarves a small world, yes, but one of extraordinary depth and intrigue. I make the pieces out of cardboard tea boxes, drawing and then coloring them with very sharp pencils, and I dont mind saying that Ive become very good at making itty-bitty tea box people over the last year or so.

Otherwise a very sad story that this guy got locked up and it didn't even accomplish any change.

From the discussion on the reddit, many prisons ban D&D, probably because of fear D&D sessions could turn into gangs and...:

>D&D can "foster an inmate's obsession with escaping from the real life, correctional environment, fostering hostility, violence and escape behavior," which in turn "can compromise not only the inmate's rehabilitation and effects of positive programming but also endanger the public and jeopardize the safety and security of the institution."


Also the author says he couldn't do this at his previous prison because they kept taking away his books and papers.

anondon 4 hours ago 10 replies      
Not directly about the article, but the Quote of the day, which is below the article.

> Bob, please get me the names of the Jews, you know, the big Jewish contributors of the Democrats. Could we please investigate some of the cocksuckers?

Richard Nixon, 1971

I don't know the context of the quote, but hatred towards Jews is something that I never really understood fully. I tried reading up a little on the history of Jews, and a few reasons seems to be (I know I am missing a lot):

-first Abrahamic religion, difficult to acknowledge for Christians and Muslims

-Palestine-Israel conflict creates hatred among Muslims

-super successful and influential for such a small community.

Without becoming a flamewar, can someone provide an objective TL;DR about hatred towards Jews?

Rapzid 5 hours ago 0 replies      
The clich-ridden passages created by the gamemaster aren't the only ones you'll find in this article..
intended 4 hours ago 1 reply      
I really can't wait for the future, the kind of childish maliciousness we have today will be replaced with increasing technological sophistication and innovation.

People working on this are probably on HN, and I can only doff my hat to them. Being employed by palantir et al is far better than being on the receiving end.

SubmitHub: how a solo founder built a $46k/mo SaaS business in 10 months indiehackers.com
474 points by csallen  19 hours ago   112 comments top 17
theunixbeard 11 hours ago 1 reply      
1.) Build an audience (~6 years)

2.) Build your business (a few months...)

That's the winning formula. I wrote about this at length regarding Ryan Hoover & Product Hunt:


The title was "Product Hunt's Rise: An overnight success 1,834 days in the making"... Same exact story here except growing Indie shuffle took closer to 2,190 days!

mherrmann 4 hours ago 0 replies      
As seems to be common on Indie Hackers, the title is extremely disingenuous:

1) It took him 6 years to build an audience before turning it into a business. The title makes it sound like the entire process only took 10 months.

2) $46k/mo of what? Revenue or profit? If the latter, at least half immediately goes to the music blogs.

3) Where exactly does the $46k/mo number come from? It's only mentioned in the title and explained nowhere. Is it a projection, an average, the best month, ...?

Courtland, you have a great site and I really enjoy your articles. Please don't spoil your awesome content with vagueness and clickbait.

jason-grishkoff 19 hours ago 10 replies      
SubmitHub founder weighing in here -- thanks for sharing, Courtland! If anyone has any questions about SubmitHub or Indie Shuffle (technical or business), feel free to ask :)

Edit: in case you're curious, here's what the dashboard looks like for bloggers - http://i.imgur.com/mJG1LP5.png

wyc 17 hours ago 1 reply      
Kudos! I get really excited when I learn about people working hard at creative and useful things like this. I also think it's important to note that, while this is surely no small feat, it sounds like this is the fruition of the author's accumulated experiences, network, and reputation "[over] the course of my ~7 years running a blog", and probably even longer with a strong passion for music and the people in music.

This comment is not to downplay the author's accomplishments--I think keeping to something for even 5 years is ridiculously hard, and that should be commended, especially if it resulted in something that people find valuable. Rather, I hope that people reading this won't lose hope when, 10 months into their own businesses, they don't see the same levels of popularity or financial success. This project seems to be the tip of an iceberg. I think luck is also a strong component, but it definitely favors the prepared.

sp527 12 hours ago 1 reply      
I think another important lesson to draw from this is that you should build things for domains and problems in which you have a legitimate interest/curiosity. That was something I took away from this that's difficult to accept, because it means you're probably going to be limited if you want to work solo.
steve-benjamins 16 hours ago 0 replies      
I used SubmitHub to share my music and it's a great experience. It fixes an exhausting cold-outreach process. (I used it to get some pretty major coverage for me, at least when a well-known blog sent 25,000 listens after covering my song).
fiatjaf 16 hours ago 8 replies      
The guy had a very successful music blog and used that to kick off the network effect needed to make SubmitHub work. There is zero chance SubmitHub would work without the music blog, so unless you have a very successful blog yourself this article will not help you in any practical manner.
reagan83 15 hours ago 1 reply      
I ran my first startup with Jason 15 years ago. Since then, he's gone on to do some amazing things and seeing him on HN today makes me realize:

1) how lucky I was to work with him for those 2 years.2) how small our industry is.

Congrats Jason on the well deserved success.

textread 17 hours ago 1 reply      
Congratulations Jason

Why did you pick Digital Ocean over Meteor Galaxy hosting ?Would you point me to some resources that you looked into while setting up Digital Ocean for Meteor hosting ?

sgdesign 13 hours ago 0 replies      
Something that I think is worth pointing out: that site doesn't have a recurring revenue model and also charges very low fees, two things that go against the common wisdom of "just get people to pay you every month, and add an enterprise plan in there for good measure".

The truth is that the classic three-tiered SaaS business model is just one of many possible business models, yet many developers-turned-entrepreneur adopt it without stopping to think whether it's a good fit or not for their product.

goodJobWalrus 15 hours ago 0 replies      
I have a question for the guy running indie hackers. Do you periodically update those revenue figures?
z3t4 16 hours ago 1 reply      
This could be used for other branches too, not just music blogs. For example Indie Games.
gtirloni 11 hours ago 0 replies      
Question to the moderators: Shouldn't IndieHackers posts be "Show HN"?
rhizome 18 hours ago 1 reply      
I'm finding that when some resources hang -- I got it with images.unsplash and cloudfront on different pageloads -- it freezes Firefox completely such that it must be killed. Is this a side effect of React/Meteor?
lmenus 19 hours ago 0 replies      
Good job!
scribu 17 hours ago 2 replies      
Actual tl;dr: Founder built a webapp for streamlining music submissions made by artists to music blogs. One important element of success was having a popular music blog himself.
hnsummarizer 18 hours ago 5 replies      
Tldr: "I was born in South Africa and moved to California just before the start of high school, graduating from the University of California, San Diego in 2007 before working a corporate job in DC that ultimately landed me a sweet gig at Google. My responsibility once there was to figure out how much to pay the company's executives, which meant I was lucky to enjoy face time with many of the top brass.,One of the biggest frustrations of running my music blog was that by the time I took it full-time, I was receiving upwards of 300 email pitches a day from artists, record labels, and publicists, all looking to have their music featured on Indie Shuffle.,Then, toward the end of last year, I decided that a good way to learn some new coding languages would be to try and solve this problem by developing a website to streamline the process."
Programming books you might want to consider reading danluu.com
872 points by deafcalculus  1 day ago   115 comments top 31
jcoffland 19 hours ago 5 replies      
The best Calculus book I've ever found is free from MIT.


questionr 1 day ago 7 replies      
I often here comments about finishing a mathematical/technical book over the course of a "few" weekends.

But I don't see how thats possible if it includes completing all (or even most of) the given exercises. Especially when you have a full-time job.

ambulancechaser 23 hours ago 4 replies      
Dan Luu's style is so impressive for his ability to be super objective about pros and cons of things. There's a post he wrote where he traces his career and lists out possible missteps and successes. His ability to dispassionately look at situations and evaluate them on their merits rather than allow their connotations into his judgement is quite enjoyable to read.

Also his talk at strange loop was spectacular.

lisper 19 hours ago 2 replies      
One of my favorites not on the list: Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold


Takes you from simple mechanical switches all the way to a CPU.

gmfawcett 11 hours ago 0 replies      
I think it's on-topic to offer a shout-out to the csbooks subreddit [1], where we share links to freely (legally) available CS books.

[1] https://www.reddit.com/r/csbooks/

adrianratnapala 20 hours ago 2 replies      
Luu says regarding the Little Book of Semaphores:

"If Im writing grungy low-level threading code today, Im overwhelmingly like to be using c++11 threading primitives, so Id like something that uses those instead of semaphores,"

But as someone whose lowest-level experience of concurrency is with APIs similar to the C++ primitives (which are not that different from pthreads), I disagree. I found it a real eye-opener to see how all this can be broken down to semaphores.

I am starting to think that a semaphore-only set of primtives would be easier to reason about. I've seen better coders than me make over-complicated mutex based solutions when sempahores gave a simple answer. And I bet I've done it too.

jldugger 19 hours ago 0 replies      
> This book agrees with my biases and Id love for this book to be right, but the meta evidence makes me want to re-read this with a critical eye and look up primary sources.

Too true. Peopleware did not live up to my expectations. It's very light on evidence, has the chapter flow of a monthly-newsletter-turned-book, and contradicts itself in a few places without blinking an eye.

cscheid 14 hours ago 0 replies      
The best introduction to optimization methods book I've ever read is "Optimization by Vector Space Methods" by Luenberger. This is the book that opened my eyes to the generality of least-squares methods, the actual geometry of the problem, and how to apply it extremely generally. I read this before Boyd and Vanderberghe's "Convex Optimization", and I'm glad I did - it goes much more deeply into the intuition and exposition. It's not as well known as it should be, but it's a complete gem.
CalChris 23 hours ago 2 replies      
Shen & Lipasti, an under appreciated book.

I like Hennessy and Patterson Computer Organization more than their Computer Architecture, especially the last edition. I'm looking forward to reading the ARM version of COAD:


ptero 23 hours ago 1 reply      
The idea is good: a list of general topics, a "why should you care" section for each (the part I really liked) and a few specific titles.

I would love an expanded list of topics (the current one is short) e.g., compilers, comms, security, Arduinos/ raspberry Pi / IoT. I personally did not like long lists of specific books -- I'd rather know about the topic and browse bookshelves at a Barnes and Noble to pick a couple that I like, but that's just my preferences.

tylerpachal 10 hours ago 1 reply      
Can anyone recommend a good book about compilers? I just watched Martin Odersky's talk from Scala World [1] where he talks about the new Scala compiler he is working on called Dotty [2], but he talks a bit about other compilers and now I am interested to learn more.

[1] https://www.youtube.com/watch?v=w1ca4KL9UXc

[2] http://dotty.epfl.ch

adamnemecek 21 hours ago 0 replies      
I also put together a list http://astore.amazon.com/adamnemecek-20 I'm not actually making money from the links because amazon closed my affiliate account.
uola 21 hours ago 2 replies      
These type of lists have nothing to do with efficient learning. In the information age we have more available information than time. Knowing how to learn is the multiplication factor. If you do your due diligence these lists quickly becomes anecdotal.
kodiera 1 day ago 2 replies      
We had "Structure and Interpretation of Computer Programs" by Abelson/Sussman when I was at university, which I found a good introductory book.

For a more thorough understanding I would recommend Donald Knuth's "The Art of Computer Programming".

webmaven 16 hours ago 2 replies      
Interesting comment on DeMarco's Peopleware:

> This book seemed convincing when I read it in college. It even had all sorts of studies backing up what they said. No deadlines is better than having deadlines. Offices are better than cubicles. Basically all devs I talk to agree with this stuff.

> But virtually every successful company is run the opposite way. Even Microsoft is remodeling buildings from individual offices to open plan layouts. Could it be that all of this stuff just doesnt matter that much? If it really is that important, how come companies that have drank the koolaid, like Fog Creek, arent running roughshod over their competitors?

The answer is in another recent post (http://danluu.com/sounds-easy/#fn:S):

> For a lot of products, the sales team is more important than the engineering team.

Put another way, every measure of engineer / software quality and project success (including the qualitative ones that are harder to measure) like delivering on time / under budget, correctness of implementation, system performance, uptime / reliability, number of bugs, ease of maintenance, minimal technical debt, etc. etc., are very often only nice-to-haves. Not necessarily all of them at all times, but often enough most of them except one or two (not the same one or two, though).

Which is a good thing, or startups would never be able to trade off covering edge and corner-cases, or scale, or 'standard' feature-completeness, etc. in favor of new and game-changing capabilities (or business models) & incumbents could never be disrupted.

But as it happens, we know that 'worse is better' in lots of ways and in lots of circumstances. So companies that 'drink the kool-aide' and focus on developer productivity and happiness may produce 'better' software by any and all measures you care to use as a developer, instead of focusing on only the most important ones that directly relate to optimizing the customer acquisition funnel and subsequently reducing customer churn.

At the level of the corporation, programming is a competitive sport, but companies are not scored on software quality, or developer productivity, or developer happiness. Companies are only scored on 'getting and keeping customers' and 'making a profit' (which may require paying attention to some quality measures, just not all of them all the time).

Put yet another way: If you're doing Lean Startup / Customer Development right, the customer decides what 'quality' means, not you.

hal9000xp 21 hours ago 2 replies      
Upvoted for recommendation of "Dasgupta, Papadimitriou, and Vazirani; Algorithms".

Unlike TAOCP and CLRS it's actually readable in realistic amount of time.

This book is also very good at explaining theoretical computer science. In particular - NP completeness.

Official copy is available at home page of Umesh Vazirani at berkeley.edu:

0: Prologue - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap0....

1: Algorithms with numbers - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap1....

2: Divide-and-conquer algorithms - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap2....

3: Decompositions of graphs - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap3....

4: Paths in graphs - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap4....

5: Greedy algorithms - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap5....

6: Dynamic programming - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap6....

7: Linear programming and reductions - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap7....

8: NP-complete problems - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap8....

9: Coping with NP-completeness - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap9....

10: Quantum algorithms - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap10...

anthnguyen94 12 hours ago 0 replies      
Cool to see lots of comments on real life algorithm applications, if anyone is interested in diving deeper there's a good book that came out recently called "Algorithms to Live By" by Brian Christian and Tom Griffiths. It talks about how we often use CS algorithms in real life without knowing.

If you want a glimpse here's a talk they gave at Google: https://www.youtube.com/watch?v=OwKj-wgXteo

syncopatience 17 hours ago 1 reply      
Could anyone weigh in on his assessment of Martin Fowler's Refactoring book? I'm considering picking it up - some seem to be of the opinion that its ideas are old news in 2016 and there's not much to learn from it, others say there's still lots of useful information.
astannard 5 hours ago 0 replies      
Refreshing post title! It beats the tired old "10 xxxx books you MUST read, or else" you see all over the place
gaius 23 hours ago 0 replies      
Hacker's Delight by Henry S. Warren
eachro 17 hours ago 0 replies      
I'm surprised the author didn't include Axler's Linear Algebra Done Right under the math section considering how fundamental linear algebra is to so many domains of computer science.
cagmz 21 hours ago 0 replies      
Regarding OS; how does the Comet book compare to the Dinosaur book?
HeavyStorm 14 hours ago 0 replies      
Tanenbaum's Operating Systems isn't there. Sorry, this isn't a good list.


ansgri 20 hours ago 0 replies      
Meta question: does author blocks requests from some countries? Somehow danluu.com is only accessible for me through vpn, else times out.
kkirsche 19 hours ago 1 reply      
It's language specific but I would recommend eloquent Ruby. One of the most engaging programming books I've read
ronald_raygun 20 hours ago 1 reply      
I'm really happy to see the books on game theory and auction theory on there.
jasoncchild 18 hours ago 0 replies      
Read through peopleware recently; I was surprised to see it on this list, mainly because it felt targeted more at low-mid level software engineering managers than "devs".

Nice list that I'll certainly pick a title or two from to add to my queue.

mozumder 15 hours ago 0 replies      
I could use a good book on combinatorics. The ones I have are way too dry and doesn't explain well in plain English.
nickpsecurity 18 hours ago 0 replies      
High-speed Digital Design should probably be on the hardware list. It was recommended in all kinds of places plus doing high-performance often takes different style. Id be interested in an ASIC engineer's opinion on it if one of you are here.
yellowapple 21 hours ago 1 reply      
A good list for sure; I'll be adding a few of these to my reading list (and a couple, like "Higher Order Perl", already are).

"I find algorithms to be useful in the same way I find math to be useful"

I'd hope so :)

rookiemaverick 21 hours ago 0 replies      
So pretty much every book from the CS course.
Pushing your website to Android without an app beaconfreaks.com
24 points by mazodude  9 hours ago   16 comments top 5
pmontra 5 hours ago 2 replies      
It would be very annoying if everybody were doing that. Notifications at every step. Luckily I keep bluetooth off. How many people keep it on all the time?
andretti1977 5 hours ago 2 replies      
I don't think it is so easy to find people with bluetooth on and estimote app installed!
fwn 3 hours ago 1 reply      
Title should be "Pushing your website to Estimote or Beacon Tools users on Android".
treck1710 6 hours ago 1 reply      
You will need an Android phone with the following applications installed:

 Estimote Beacon Tools
You need at least 1 beacon (we recommend Estimote), you can buy beacons here

kqia040 6 hours ago 1 reply      
Sorry the page is down for me
Tesla and Panasonic to Collaborate on Photovoltaic Cell tesla.com
56 points by ot  7 hours ago   13 comments top 5
julianpye 5 hours ago 2 replies      
Panasonic suffered so much by its committee based product decisions that it had to leave the consumer space as its core business. The decision to let high-risk Tesla lead a Japanese electronic giants manufacturing power as visionaire is currently the most exciting cultural decision by an Asian corporation. Cultural because by doing so Tsuga-san (Panasonic's CEO and my former boss when he was in charge of DVD and Blu-Ray) left the corporation's 1000 year paternalistic consumer product plan (no joke) of the founder far behind.
Animats 4 hours ago 1 reply      
Solar City's big thing with their Buffalo factory was that they were going to make their own solar cells. Solar City bought Silevo for $200 million in 2014. Silevo supposedly had a "breakthrough technology"[1], which would allow Solar City to compete with cheap solar cells from China. That was the previous story.

The new story that Solar City will now buy solar cells from Panasonic, but only if Tesla buys Solar City. Silevo is no longer mentioned. Does this mean the Silevo technology didn't work out? Or that Solar City's financial problems mean they can't afford to be in the solar cell business?

Something big and negative happened that the press release isn't mentioning.

[1] http://silevosolar.com/?cat=11

abalone 5 hours ago 2 replies      
Interesting.. why Buffalo? Are they getting tax incentives?

There's no mention of partnering with U of Buffalo but there is a pretty major 10 year tax break for tech companies that do.[1]

[1] https://startup.ny.gov/Business-Growth

jakozaur 4 hours ago 0 replies      
KaiserPro 4 hours ago 0 replies      
Its an interesting admission that their own solar tech isn't good enough.
Todays Innovations Are Tomorrows Baseline collaborativefund.com
45 points by FigBug  13 hours ago   8 comments top 5
spodek 9 hours ago 1 reply      
While teaching entrepreneurship, I pointed out that since people don't try to make the world worse, many problems today started out as solutions.

It follows that most of today's solutions will become problems someone has to solve later.

It was one of those moments when all the students picked up their pens and wrote it down, like it was a big revelation. I hadn't planned on it being deep.

buzzybee 11 hours ago 0 replies      
To improve in any field, you basically have three options to choose from: Reference existing work and instruction, philosophize about ways to intentionally design a new concept, or iterate within your existing processes often towards a specific goal.

On all fronts, you can find ways in which we are better at doing those things than in previous eras: more source material and access to formal instruction, more access to high-level conversations and criticisms, better venues for practice and iteration.

To the extent that young people can do increasingly amazing things and raise the bar, they are still limited in every era, in that their best efforts are primarily a reflection of the environment, vs. an extension of the environment. The 10-year-old can achieve a 900 not just because there is inspiration but because broader support also existed - the parents are OK with this kid vert skating on a regular basis, and he can access a ramp in order to practice.

In contrast, the pool skaters of the 1970's had to trespass on the property of strangers to have a shot at skateboarding for an hour or two, if they were lucky. But they had a strong in-group culture that made them persist despite large barriers, which eventually led to unmatched skills and a level of commercial success as performers. But as stars, they in turn had to lay a lot of the groundwork for future success stories like Tony Hawk; there was no framework or playbook to draw from of "how does one have a career in skateboarding" at that point, and indeed, that side of things has continued to evolve today with the advent of social media: if a kid did a 900 20 or 30 years ago, it might have gone unrecorded and had no impact on his external life. It's easy to see the technical achievement, less so the human factors surrounding and supporting it.

elihu 9 hours ago 1 reply      
This seems like it's more true of software than most other human endeavors; anyone can come along and "git clone" someone else's best work and start right where they left off without having to re-trace their steps from the beginning. Or, if understanding what they did enough to improve on it is too hard, one can just re-use their work as is and innovate in a completely different direction.

One way this breaks down, though, is that a certain way of doing something becomes "standard". It's really hard for everyone collectively to move forward when we're all using abstractions that are decades old because that's how new software inter-operates with all the old stuff.

gh1 12 hours ago 1 reply      
In order to innovate, one usually needs to get familiar historical progress. While Einstein had to master mechanics, electrodynamics and thermodynamics in order to build his own theories, a Physicist working in today's day and age has to also master the explosive progress made in the last 100 years. The only way to mitigate this problem seems to be (at least in scientific fields and a bit in computer science too) is specialization, which is not always a good thing.
joe_the_user 5 hours ago 0 replies      
If progress is measured relative to the levels of other people, it's plausible that many fields experience constant improvement in the sense of "a 12th grader today performed at what would be world class levels ten years ago". Because that can happen even in a field that is experiencing diminishing returns by some more absolute yardstick.

It is worth noting, however, that some human skills, I think reading speed, haven't shown any improvement over time whatsoever.

From Mac to Linux: Web Development with Linux medium.com
65 points by nitai  3 hours ago   64 comments top 15
rayalez 56 minutes ago 8 replies      
To me a huge selling point of linux is i3wm. If you haven't used this thing yet, you absolutely have to try it out! It is the best tool that I have discovered since emacs.

It allows me to easily and conveniently manage dozens of windows, and it's hard to describe how convenient that is until you get used to it.

I usually have around 10 workspaces open:

1. Emacs with personal notes, goals, todo lists.

2. Emacs windows I use for development and code.

3. Terminals for all sorts of servers and processes running in the bg. Django, compass, webpack, stuff like that.

4. Terminal for "practical" tasks - updating git, ssh, all sorts of commands I want to use.

5. Nautilus.

8. Video player with tutorials and courses I'm watching.

9. Photoshop and other graphical/visual stuff.

10. Chrome.

I can switch to any of those with one hotkey, and navigation is super easy and convenient. It is so awesome that I'm thinking that it's almost the main reason I'm not going back to mac.

Oh, and also Ubuntu 16 is fucking great. Everything works pretty much out of the box, everything is easy to install, just perfect.

The only drawback of linux is editing graphics and videos. At the moment I'm using Photoshop with wine for design and kdenlive for video editing. They are good enough to work, but do have bugs and inconveniences, not as great as you would want.

codecurve 10 minutes ago 0 replies      
I recently switched to using a Mac (for work) after 5-6 years only using Linux. Again and again the most painful aspect of the Apple ecosystem is that Apple have already decided what is going to be best for me.

By default, it's impossible to use workspaces without frequent switches to the trackpad, which wouldn't be so bad, but without installing third party software it's not really possible to create shortcuts or start remapping keys either. Even once you've installed and started Kwm, Karabiner and Seil, the botched keyboard layout renders the Alt key useless for wm shortcuts. There's not even a keyboard shortcut that makes a window fullscreen without removing it from its workspace!

So much of the system lives in this unconfigurable space. As a Linux user, if my window manager isn't working for me, then I just install another one and start again with a fresh _and customizable_ blank slate.

Ironically the things that don't frustrate me about the chance from Linux to Mac are the things the author identified in the article. My editor works just the same in both OSes and Homebrew could be a lot worse.

And I get it, the OSX experience is a system that is averaged out to be comfortable and intuitive for everyone from musicians to graphic designers to programmers and business people. As a result, the user experience punishes power users the most.

If you primarily identify as a programmer and use a Mac on a day-to-day basis, go pick up a cheap Chromebook, throw a linux distro on it, and see how it feels. If it's not quite right, tweak it. If you get it working, great - you've just saved yourself ~$1000 and a vendor lock-in. If not, all you've lost is $150 and a few hours of your life.

subway 6 minutes ago 0 replies      
Interesingly, the "'apt-get install foo' and it just works!" aspect of Debian-like distros was what initially got me hooked, but has since become the bane of my existence.

Debian has a policy of shipping a sane default config, and generally enables/launches services for you. This is friggin awesome when you're experimenting and learning. apt-get install nginx, and bam, running webserver.

Unfortunately you then start automating processes, and it becomes quite painful. Wanna build a MySQL host with a non-default size innodb log? You get to install the package, stop the service, reconfigure mysql, blow away the log files created when the service was started by dpkg, then start the service back up. Compare this with RHEL/CentOS/Arch: Install package, configure service, start service. These are 3 discrete operations.

(Yes, there are workarounds for this, such as using policy-rc.d, but they bring their own complexity to the table.)

fdomig 1 hour ago 3 replies      
Honestly, nice if that works easy for you when using just developer tools on the terminal or a text editor. As a web developer, though, you might end up using more than that. A Mac offers so much more commercial applications that just do not exist on any Linux distribution.

Gimp is no replacement for Photoshop and Inkscape is not replacement for Illustrator, ...

Btw, mostly everything you install with `apt-get` can be installed with `brew` as well (MongoDB, Elastic, nvm, etc.).

marktangotango 2 hours ago 1 reply      
The apt-get install for damn near anything is a big one (for Debian based distros obviously) in my opinion. I think the access to build tools and packages is big too. I had case recently where I needed to make a one line change to an Apache module; wget the source, make the change, configure, make, make install, exactly the same as on the prod server.

Unfortunately the author delves into text editors, which can be flame inducing.

iammyIP 1 hour ago 0 replies      
It's no surprise that linux is by far the best development system for everything, since it is not a consumer product, but a collaborative meta tool.
trengrj 1 hour ago 1 reply      
Having the same environment on your local machine as on your target server is a real productivity saver and a good reason to use Linux.

Additionally I've recently started using elasticsearch docker containers and I found Linux is a far better host than Docker for Mac (as it still runs a tiny Linux vm with associated slower disk access).

mugsie 1 hour ago 1 reply      
I use a Mac, but just as a terminal to a Linux workstation.

Unfortunately, I work in a place where we need access to Outlook (and its calendar), and Skype for Business / Lync. There is not really a good story for these things on Linux still (and I doubt we will ever see a Skype for Business for Linux), and even with Thunderbird + Exquilla, email is tough.

That said, my laptop mounts my workstations home dir, and then I use iTerm's fantastic tmux integration to connect to the shell.

(My personal PC at home is still Linux though :) )

gravypod 18 minutes ago 1 reply      
The problem with most apt-based distributions is I've found that a lot of packages are out of date.

Try out a pacman-based distribution some time. The idea of a rolling distro is great in my mind and most of the packages in the repo are up to date. If something is missing there is usually an AUR.

If you use zsh with oh-my-zsh then you're going to have a much easier time finding whatever you need to install. Pacman has an autocomplete written up for it.

Also, everything is near-perfectly documented in the arch wiki.

kzisme 26 minutes ago 0 replies      
Is this post part of a series (intentionally short?) while I liked the post it wasn't long enough for me.

It was only:

1. Apt-get is cool2. Vim3. Sublime 4. Atom?

I felt a little more effort could have been put into this post (similar to a tutorial?)

recentdarkness 2 hours ago 0 replies      
Well TBH, I did go the other way around and I have to say that the advantages of MacOS are for me much more worth it.

All what the articles says I do achieve simply by using docker and I have all the nice integrations around. I can have any target environment setup and switch between them in seconds. And since I can mount my code directories directly into the docker containers I don't need to do any complicated scp like deployments.

Well, but in the end it's a matter of personal taste. I am happy where I am :-)

gm-conspiracy 32 minutes ago 1 reply      
Anybody have success with Linux on a Surface Pro 3 or 4?

I am considering the purchase of a Surface Pro 3 i7 w/ 512GB for Linux web-dev.

andrew_shini 3 hours ago 5 replies      
So what is so much better on Linux than Mac? You can use nvm, etc
apeacox 1 hour ago 2 replies      
You can see the differences between linux and macOS when you consider your environment as a desktop workstation rather than a simple dev machine. I've switched from linux to macOS after 13+ years because, IMHO, the linux desktop overall experience sucks for everyday use.
_joel 1 hour ago 0 replies      
Whilst I work with Linux on a daily basis and understand that `apt-get install {package}` is really handy, how does this change from a brew install? (granted brew is 2 commands extra to install if you include the xcode installation)

Also, given the prevalence of various types of virtualisation - is this still overly relevant to the developer? (Genuine question, keen to understand how people work)

I'm writing this now on a mac running vms for ubuntu (14/16.04) as well as OpenBSD. I don't necessarily feel like it's a blocker but understand we all work differently.

       cached 17 October 2016 13:02:02 GMT