Ask HN: Ethical Software Jobs? - <AUTHOR> A large portion of visible software companies these days live in ethical gray areas. Adtech/tracking, analysis of tracking data, fintech, social disruption, dark patterns that cultivate addiction.<p>How do you seek out software jobs that genuinely benefit society, when they tend to be the ones making fewer headlines? Applications that are useful, non-manipulative, and don't cause social harm. Do particular languages have higher or lower adoption in these kinds of companies? Are there keywords or specialized job sites? What signifiers could be looked for? <comment><USER2> It sounds like you're skeptical about companies that affect people's habits. So avoid these terms:

\- finance

\- advertising

\- entertainment

I'd focus on companies that sell to other businesses. Changing the habits of businesses is usually considered a good thing.

And sell something less abstract. If you sell laptops, routers or office chairs, nobody's going to think you're a bad person. Just maybe a bit boring.

Software-only products are all about information. It's about gathering information about people (gray area) or understanding lots of information about people (gray area). So work for a company that does something in the physical world.

<comment><AUTHOR> > skeptical about companies that affect people's habits

I would rephrase as companies whose express intent is to manipulate people's habits for their own gain. Entertainment is fine as long as it's done in relative good-faith (not gambling or manipulative microtransactions). Though the game dev sphere isn't a great job market right now for unrelated reasons.

> It's about gathering information about people (gray area) or understanding > lots of information about people (gray area).

That's a very narrow lens. Software can also be about gathering and understanding information about the non-human world, for scientific reasons or otherwise. It can be about empowering people to manage and utilize their own information. It can be about empowering people to create new information. The key question is whether or not the intent is to make someone's life worse in order to make money.

<comment><USER2> > I would rephrase as companies whose express intent is to manipulate people's > habits for their own gain. Entertainment is fine as long as it's done in > relative good-faith (not gambling or manipulative microtransactions).

Wondering - is Netflix a good company? On one hand, they're a straightforward entertainment company, but on the other hand they optimize content and suggestions on maximizing viewing hours. Their goal is to change habits to watch more and more Netflix.

How about Apple? They sell hardware and software that people like and they try to respect user privacy. But they design their software to aggressively lock users into their own platform and prevent them from trying competitors.

> It can be about empowering people to manage and utilize their own > information. It can be about empowering people to create new information.

This is almost exactly Google's mission statement, but most people here would put Google in the gray area.

My point is, almost no company's goal is to make peoples' lives worse. But all companies are fundamentally trying to manipulate people to buy more of their product. The question is if most customers feel good about the company after the transaction, if they feel like they were manipulated "too much".

<comment><AUTHOR> Netflix is a good example, because it can be contrasted with Hulu. Netflix uses aggressive dark patterns like auto-playing trailers to push content on you; people have repeatedly asked for the option to turn these off and Netflix refuses, because it gets people to watch more. They've made the express choice to rob their users of agency for the sake of increasing engagement. Hulu, on the other hand... doesn't do that. I'm not saying they're saints, but their interface respects user-agency.

</comment></comment></comment></comment><comment><USER3> One way to measure the value of software is how much human work it replaces.

If your customer is a business, that means how many jobs it replaces. So with a high bar for "socially harmless," you may be limited to consumer software.

At scale, I can't think of much consumer software that's profitable and doesn't rely on ads. Off the top of my head, some examples would be Photoshop, Dropbox (though their board includes at least one war criminal), and Firefox.

It's genuinely hard. Good luck.

<comment><AUTHOR> I wouldn't say that increasing business efficiency is _necessarily_ an ethical problem, even if it theoretically eliminates jobs. There's always natural turnover as humanity progresses where certain jobs get eliminated and others get created. I think the key differentiator is to not push that wheel too quickly; it becomes a problem when a whole job field gets disrupted overnight, as opposed to over the course of years where people have the time to transition (and retire and enter the workforce).

In fact, some of the most straightforwardly value-creating companies I've seen are B2B; things like Basecamp: [https://basecamp.com/](https://basecamp.com/)

Other areas that seem to not be (inherently) problematic:

\- Embedded

\- Tooling

\- Communication

\- Industrial

\- Scientific</comment></comment>


Page Dewarping - <AUTHOR> https://mzucker.github.io/2016/08/15/page-dewarping.html <comment><USER2> This strikes close to home for me, because I've done this "by hand" quite a number of times, using some interactive Gimp filters, with very good results. I've been able to take a perspective photo of a curved page lying on a desk, get it almost perfectly straight, and threshold it to clean black and white or sharp gray scale.

Here is my very quick and dirty manual job of the same example page:

[http://www.kylheku.com/~kaz/dewarp.png](http://www.kylheku.com/~kaz/dewarp.png)

Literally less than five minutes.

First I cropped the image. Then duplicated the layer. Blurred the top layer (Gaussian, 50 radius). Then flipped to Divide mode and merged the visible layers. This leveled the lightness quite well, almost completely eliminating the shadow over he right side of the page and all other lighting differences. There is a hint of the edge of the shadow still present because it is such a sharp contrast; but that can be eliminated in an adjustment of the intensity curves. In such cases it may be helpful to experiment with smaller blur radii, too.

I then did a perspective transform in the lateral direction, squeezing the left side top-bottom and expanding the right, resulting in the warp now being approximately horizontal. (The perspective transform is not just for adding a perspective effect; it is also useful _reversing_ perspective!)

Finally, I used the Curve Bend (with its horrible interactive interface and awful preview) to warp in a compensating way. Basically, the idea is to draw an upper and lower curve which is the opposite of the curve on the page. I made two attempts, keeping the results of the second.

If the preview of this tool wasn't a ridiculous, inscrutable thumbnail, it would be possible to do an excellent job in one attempt, probably close to perfect.

Because the page is evenly light thanks to the divide-by-blurred layer trick, it will nicely threshold to black and white, or a narrow grayscale range.

<comment><USER3> Hence the tagline on the blog: "Why do it by hand if you can code it in just quadruple the time?" :)

<comment><USER4> More work up front, less work afterwards.

</comment></comment></comment><comment><USER5> I love well-illustrated writeups. Even a reader without mathematics or programming knowledge can understand what steps the author took. His model actually seems to better represent the warped paper than a cylinder would. (though I don't know the actual specifics of the CTM model)

I wish he went into more details on the steps taken after dewarping. You can tweak the image levels to get good contrast, but surprisingly there aren't any shadows from underleveling or loss of detail from overleveling. I wonder if the author ran OCR on the scans after, and speaking of OCR, IIRC Leptonica is one of the dependencies of Tesseract so it must do some similar pre- processing.

Edit: reading more carefully, he mentions that he used adaptive thresholding from OpenCV.

</comment><comment><USER6> Recently, Dropbox wrote about dewarping prior to OCR in their app: [https://news.ycombinator.com/item?id=12297944](https://news.ycombinator.com/item?id=12297944)

This code had the same idea, and is open-source!

<comment><USER7> No, what this code does is much more sophisticated - Dropbox do not dewarp (i.e. remove non-linear distortions) they only transform the image to make the document rectilinear (leaving the distortions/deformations intact), which is much simpler.

</comment></comment><comment><USER8> I use Microsoft's "Office Lens" app on my Android phone all the time, like a "smart camera" which automatically squares off and white-balances each photo of a page (usually mail or forms filled in by hand). It can't handle warped pages though, so I hope they add something like this!

<comment><USER9> Yes, Office Lens is great for that. I recently switched to CamScanner, which has an even better algorithm for deskewing pages (take a pic of a receipt at an odd angle, it automatically transforms it to flat and rectangular). Pro version was on sale -- I'm not affiliated, just a happy customer and highly related to this article.

<comment><USER10> I have it as well, but use Office Lens or Google Drive (create a shortcut to a folder on home screen of android device and use it to scan into it).

The reason is CamScanner tried to upsell me to some monthly plan.

For all good advice on HN that you should build recurring revenue: It seriously annoys me when people tries to do that by demanding monthly payments for static features.

(Totally OK with selling license keys for new features etc.)

<comment><USER10> Update: CamScanner is now less annoying than what I used to remember. I might actually be switching back.

</comment></comment></comment></comment><comment><USER11> _it came in handy whenever a student emailed me their homework as a pile of JPEGs._

Gotta admire this guy's resourcefulness—and patience. If I were a professor, I'd probably just reject the assignment outright if a student sent me a bunch of photos from their smartphone in lieu of a PDF or a "proper" scan. :)

<comment><USER12> Reject it, in the form of a picture of a handwritten note on a print-out of his jpegs.

</comment></comment><comment><USER3> Thanks for the feedback, everyone -- happy to answer questions here or in the Disqus comments on my blog.

<comment><USER13> This is really interesting, thanks!

If you decide to try to make this faster, check out ceres[0] a non-linear least squares optimisation framework that does automatic differentiation using a clever C++ template hack.

I've used it a few times to solve these kind of problems and found it to be very good!

[0] [http://ceres-solver.org/](http://ceres-solver.org/)

<comment><USER3> Yep, I'm still waiting to use ceres for something - I didn't end up using it on my image approximation project [https://mzucker.github.io/2016/08/01/gabor-2.html](https://mzucker.github.io/2016/08/01/gabor-2.html) because it doesn't work well with inequality constraints.

<comment><USER13> Ah yes, only supporting constraints on the parameters can be annoying if your problem requires that.

</comment></comment></comment></comment><comment><USER14> Here's something that I think has not been done, but could be quite lucrative, building a high resolution scanner using the phone camera, multiple pictures and interpolation/noise removal.

Most phone cameras these days have good resolutions, and you could technically take a 6x4 photo, divvy it to 3x3 grid and take close up photos, and have smart algorithms interpolate the pixels to form a single image with high res. I'd even bet you'd results equal to or better than a flat bed scanner.

For better us, just open the camera preview and slowly pan over the image.

Has someone tried something like this? With FOSS apps like mosaic, hdr tools and imagemagick, it should be possible. I'm guessing opencv would be needed for interpolation and noise removal..

<comment><USER15> I've used some free apps that turn phones into document scanners. Almost all banks I use have something like that embedded for check deposits. Maybe they're just doing deskew rather than dewarping though... loose documents aren't usually warped like book pages.

The next hard problem would be help with DIY book scanning. Like the camera could sit over my shoulder and detect when I've turned a page, then automatically take a picture of the new page. Then OCR kicks in, and conversion to EPUB, preserving graphics when pages have non-text elements. Mostly just feel like we can probably do better than the massive contraptions over at www.diybookscanner.org

</comment></comment><comment><USER16> This problem is fundamentally different with stereo images; there is a hope of reconstructing the exact 3D geometry of the page before flattening, rather than inferring from content. An iPhone app that did this would do well.

<comment><USER17> I've always thought it should be possible using a short video of the camera orbiting the page from different angles. (Assuming a static scene of course.)

<comment><USER18> Or now, some frames of a live photo.

</comment></comment></comment><comment><USER19> I wonder if someone has tried to dewarp whole book from a video when flipping through it. I imagine that could be handy way to copy the whole book.

<comment><USER20> Page warp becomes but a tiny part of the problem with a page-flip video – now you have motion blur, varying exposure, resolution, noise, and depth of field to worry about. Maybe if you had a camera capable of recording extremely high frame rates at high resolution (probably north of 120fps @ 1440p), a high- intensity, diffuse light source, and a lens with a tight aperture / narrow focal length, you'd at least have something to work with.

<comment><USER21> Doesn't that describe most modern cell phone cameras?

<comment><USER22> I haven't heard of a phone camera that can do video at 120fps, they're usually 30, maybe 60 fps. The S7 has some high framerate slow-mo option, but it's limited to a 720p resolution.

<comment><USER23> The iPhone 6S records 1080p at 120 fps and 720p at 240 fps for their Slow-Mo feature [0].

[0]: [http://www.apple.com/ca/iphone-6s/specs/](http://www.apple.com/ca/iphone-6s/specs/)

</comment></comment></comment></comment></comment><comment><USER24> This is great! My wife is a music teacher and often scans sheet music so that it's more portable. She has been asking me for a while for something exactly like this. I'll have to tweak it to work on sheet music, since I imagine his methods to identify lines of text won't work for the music staff out of the box.

<comment><USER25> ScanTailor [1] also implements automatic dewarping and is overall great for scan postprocessing.

[1] [http://scantailor.org/](http://scantailor.org/)

<comment><USER26> I used it for about 1000 pages I photographed with a DSLR. The automatic dewarping rarely worked for me, so I ended up doing it manually.

It likely didn't help that many of the pages were typed carbon copies or hand- written. For the former I had to put another piece of paper behind the page to prevent the next page from bleeding through.

That said, I managed to get the job done, though it took a couple of weeks. Next is to capture the metadata (author, date written, ...). There were a lot of one page letters in the documents I copied.

Would love to try out another tool that could read from the ScanTailor project file to get the page segmentation or even the warping I did manually to improve on the result.

</comment></comment></comment><comment><USER27> The next step would be to "depixelate" the resulting image. How could this be done? I guess OCR would not work because of the variation of the fonts (you don't want the document to end up in a single font; you want to keep the fonts). Could a deep learning approach work here, even if it has not been trained on all the specific fonts?

<comment><USER12> Plenty of engines will do OCR and use the shapes recognised with high certainty to affect how they detect the rest.

There are many ways of doing this, and you can achieve some results even without knowing if your image is text, but just has lots of self-similarity by virtually sliding a "grid" over the image, slicing it up into n-by-n squares, running any of a number of nearest-neighbour variants over it, and then for each cluster replace all instances of the squares in the cluster by the one which minimise the overall error rate vs the others.

This will work reasonably well for very structured images such as text, as long as enough characters are near correct, and will retain custom fonts etc. but clean them up quite a bit as long as they either are different enough, or occur often enough on a page to not get "corrected".

I'm sure there are better ways of doing this too - it's been a decade since I kept up with OCR research.

</comment></comment><comment><USER28> How much of an effect does the camera lens make in page warping? Correct me if I'm wrong, but for shorter focal length lenses I would think it would warp the page more. If a person accounted for that, could they get a near perfect result? Or does his algorithm account for that? It seems that one would need to know where the center of the image would be.

<comment><USER3> Pretty sure focal length would affect things as you say, but also physical dimensions matter too. My program assumes fixed focal length and then picks the page dimensions that work with the assumed focal length -- almost certainly not the correct ones.

</comment></comment><comment><USER29> "You can see these are not exactly small optimization problems. The smallest one has 89 parameters in the model, and the largest has 600."

Those _are_ small optmization problems. These types of problems are solved in computer vision for hundreds of thousands of variables. His problem can be solved in real-time, not tens of seconds.

<comment><USER30> Compared to weather prediction, which is an optimisation problem involving hundreds of millions of variables, and occupies a hefty supercomputing cluster for a few hours.

</comment></comment><comment><USER31> Consider mentioning Dan Bloomberg as the author of the original work as well as Leptonica. :)

</comment><comment><USER32> Thank you for the gif near the start - it really helped me to understand what was going on.

</comment><comment><USER33> Is using a curve whose end points are fixed to zero to model the warping accurate? I can't see a rationale for why the end points should both be 0.

<comment><USER3> The main rationale is removing redundant degrees of freedom -- since the page is allowed to rotate freely, the edges of the page can still move around plenty.

<comment><USER33> I see, so basically assume the two end points are at zero and there is some rotation accounting for the endpoint offset in real space.

It still doesn't seem fully accurate as I can imagine a non-rotated cubic curve with endpoints at an offset, but I assume your simplification works well enough.

</comment></comment></comment><comment><USER34> I've always been interested in getting into graphics programming, and stuff like this only makes me more interested. Really well written post.

</comment><comment><USER35> Wrap this in a service and you have a startup!

</comment><comment><USER36> This is solid. I'm an engineer at Algorithmia, and this caught our attention as the sort of project we love to host as a service on our algorithm marketplace. We've already made note of it for our team to consider adding (thanks to the generous MIT license), but I wanted to reach out in case you'd rather add, own, and optionally monetize it on our platform yourself. Either way, this was a great read with impressive results.</comment>


Black Swans and the Destruction of Western Civilization - <AUTHOR> http://chicagoboyz.net/archives/11915.html

<comment><USER2> I'm sorry, but this guy just lost me, and I read a large part of the article.

</comment><comment><USER3> "It's true that you have little to no ability to predict the future on your own" -- the author misses Ferguson's point entirely. Ferguson would use history to understand the present and to illumine the future.

However, a timeline's unpredictability (despite seeming like an obvious concatenation of events) frustrates this goal and leaves us to hedge our bets on the future.

The author has no such qualms, though. No matter how history turns out, he can alway generate a fact-filled story that sounds completely reasonable.</comment>


Why You Should Embrace Surveillance, Not Fight It - <AUTHOR> http://www.wired.com/opinion/2014/03/going-tracked-heres-way-embrace-surveillance/

<comment><USER2> This is bizarre. Where to start...

I think the real howler is the idea that there could _ever_ be a level playing field between well-funded government and corporate intelligence operations and private citizens. Even if I had access to all the same data as the NSA, there is simply _no way_ I could "make that data work for me" to anywhere near the extent that the NSA can. There are not enough hours in the day, nor do I have access to a compute farm the size of the Houston Astrodome and a small power station to power it.

This idea that small groups of amateurs with no funding can compete with massive organizations with billions of dollars in funding has got to go. It _occasionally_ happens, but on average it does not. On average the big guys are going to mop the floor with you by sheer brute force. Even if every dollar the NSA spends gets them only 1/100th as far as every dollar a private concern might spend, the NSA will still win because they have more than 100X as many dollars.

People will bring up Linux but it's a poor counterexample. It was small and scrappy for a short while, but it very rapidly picked up the support of industry and now has billion-dollar backers. It's also a case where almost everyone shared a common interest, which is not necessarily the case with surveillance. My interest does not equal your interest when it comes to us spying on each other, so if you have a million bucks and I have a few thousand you are going to win.

Then there's the issue of privacy to begin with. Anyone who thinks privacy is obsolete has never started a business, negotiated a contract, or had a girlfriend.

Finally there's this crackpot idea that eliminating boundaries is a good thing that's going to make us more honest and open with each other. It will have the opposite effect. If people think everything they say and do _anywhere_ is public, they will simply self-censor under all circumstances... sort of like how people behave in dictatorships with secret police everywhere. It'll also mean everyone is all up in everyone else's business all the time, which is not a world I want to live in. There is a reason people segregate into separate dwellings and stop living communally the instant they have the economic ability to do so.

Boundaries are extremely important at all scales in living systems. Your nerve cells don't directly connect. Instead they link via synapses, permitting each cell to control I/O on its own terms. Why? Because if every cell touched every other cell the first malfunctioning cell would cause a cascade and give you a foaming-at-the-mouth seizure.

</comment><comment><USER3> It's freaky. I actually wrote an opinion piece with a similar point of view and much better supported. I submitted it to New York Times opinion pages as well as Wall Street Journal and TechCrunch. No response.

And this gets published in Wired two days later.</comment>


Would you use a tool that predicts laptop auction prices with  - <AUTHOR>

Would you use a tool that predicts laptop final auction prices with sub 10% error? <comment><USER2> Only if the error is to my benefit :-)</comment>


Instagram Opened Registration For its New Android App - <AUTHOR> http://www.techieapps.com/instagram-opened-registration-for-its-new-android-app-launch-date-still-undisclosed/ We already knew that Instagram for android platform is going to be launched soon but it was just a matter of when. <comment><USER2> Do you have any confirmation about the releasing date ??????????/</comment>


How I run a small discussion mailing list - <AUTHOR> https://adamo.wordpress.com/2019/10/10/how-i-run-a-small-discussion-mailing-list/ <comment><USER2> Hmm. Seems small enough that it's probably missing a bunch of important cases... the first one I can see is the lack of subscription confirmation. I can't see special-casing for "<>" either. Or prevention from subscribing the mailing list to itself.

</comment><comment><USER3> That's a neat script and one of the simplest setups I've seen for running a mailing list (even though I don't understand everything the Lisp is doing).

I'm a massive fan of mailing lists and despite all the other alternatives I think for the right group of people they're the perfect solution.

* Here comes the shameless plug *

I'm the founder of Gaggle Mail ([https://gaggle.email/](https://gaggle.email/)) which provides dead simple group email. Our customers are as far from the HN crowd as you can get; non- technical, generally elderly but they're desperate for something simple, with few features that does just what they need - and they're willing to pay!

There's a real market for taking what appears as a simple technology to most techies and dumbing it down to make it accessible to a wide and willing market.

<comment><USER4> It's a great project you have here. Just be careful with the grammar, from the homepage: "Gaggle Mail gives your group it's/its own permanent email address".

<comment><USER3> Thanks for that, I appreciate it.

</comment></comment></comment><comment><USER5> Years ago I used to run a few such small mailing lists. As far as I remember, I used minimalist [1] and mlmmj [2] at one time, maybe others. Over time they became major pain to maintain due to spam. Not so much in preventing spam messages from reaching subscribers but because various broken spam botnets were constantly hitting weird corner cases and were constantly breaking the lists in various wondrous ways.

That was before the whole "server reputation" became a thing. I'm not touching any kind of automated mail sending these days. I'm not giving AI any more excuse than it already has to randomly blacklist me out of the SMTP world.

[1] [https://github.com/madroach/minimalist](https://github.com/madroach/minimalist) (?)

[2] [http://mlmmj.org](http://mlmmj.org)

</comment><comment><USER6> Plug: A friend/former cow-orker has ran FreeLists for, I'm not even sure, 15-20 years now.

It's a fairly straightforward, no bullshit product if you just want a mailing list.

<comment><USER7> I use Freelists for a tiny mailing list I run and I cannot recommend it highly enough. Setup is a little strange, and some of the admin settings aren't entirely intuitive, but when it's up and running it's excellent.

</comment></comment><comment><USER8> Mailing lists are the worst way to have discussion. A subreddit on the other hand is the best alternative I found.

<comment><USER9> Subreddits suck, at least for focused, productive discussions you might want to archive and refer back later. Old-school forums actually work very well for this use case; the only thing they're missing in a present-day context is some level of, e.g. ActivityPub interop.

<comment><USER10> Yeah, where actually have forums gone? All the software seems to be pretty outdated and you can't throw a stone without hitting someone who is building some new link aggregator or mircoblogging service.

But where are decentralized or just modern platforms focused on discussions, not on people?

<comment><USER11> > Yeah, where actually have forums gone?

"Stop necroposting! You have been warned" "You have to login to search" "You need to wait for an administrator to confirm your account before you can login" "You need to have a hight reputation to post" "You cannot post in this subforum" "You haven't posted in the Newbies forum" "[missing image from TinyPic or other 3rd party hosting]" "[missing image due to 3rd party hosting quota limits]" "PMed you the solution"

Yea no thanks.

> But where are decentralized or just modern platforms focused on discussions, > not on people?

Stackexchange is one example.

<comment><USER12> You've spent days, if not weeks searching for any lead on the obscure problem you're facing. You might not even be certain exactly what the problem is, but you're by now intimately familiar with its manifestation. It's clear by now you're probably the first person in ten years menaced by it. Ancient forums with broken CSS, archived mailing lists, dusty blogs; you scrape together enough relevant information to finally craft the search query that will save you, the one that will finally lead you to the result. There. It's done. The results page consists mostly of entries with nonsense text and languages you can't read, but at the top is your answer. You click it. Scanning the original post it's clear you've found your salvation. You scroll through, quicker and quicker, impatient to end it all. Almost there, to the last post. The answer you seek. But, in a flash, it's gone.

"PMed you the solution"

<comment><USER13> More like "Nvm, I found the problem, it's working now :)"

<comment><USER12> An even greater betrayal.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: Do you feel vulnerable because your product is not physical? - <AUTHOR>

Worst comes to worst, General Motors, now going into bankruptcy, can sell off its factories, its inventories, its infrastructure for billions.
But what do we as web developers, hackers, programers, have? How much is what we make worth without an internet connection? This gets me wondered how, if one wanted to, would go about insuring a website or web app. How would it be valued?
Am I the only one that feels vulnerable because of this? Is there a solution?
Hearing about Obama stepping up "efforts to secure the internet" (The Economist) got me thinking about this. <comment><USER2> It never crossed my mind to worry. But, then again, I've been in situations where my company (a previous one) wasn't making any money for a quite long period of time, and I had to improvise. It all turned out fine, in the sense that I never experienced foreclosure on the house, the power and phone and gas companies only _threatened_ to turn them off, and the cash advance on the credit card covered the next couple of months worth of payments. I'm pretty easy going about that sort of thing, and I think it's served me well.

Just make sure you always have health insurance (this one isn't optional), and be prepared to tighten your belt a lot at the first signs of actual trouble.

It might help for you to make a plan for belt-tightening so you know how little you can actually live on. Things you could plan to do and factor into your new lean budget: Sell your car (assuming it isn't bringing in revenue due to doing contract work on-site or something), turn off the cable TV and mobile (again assuming you don't need a phone to make money), cancel all subscriptions to everything, eat cheaply (dry beans, rice, whatever vegetables are on special; about $1.50 per meal easy to achieve), and if you look at those numbers and are still worried, then your house or apartment is too big/expensive for you and you should downsize _before_ trouble hits. You also want to make sure your credit cards are paid down while things are going OK.

And, of course, fearmongers are just that, and don't usually need to be taken too seriously. The Internet is pretty robust, in general, and important enough to the rest of the nations economy that even if things really went to hell, the biggest corporations in the world would spend billions or trillions to bring it back quickly. It's just too tightly integrated into everything now. You're not some outlier in building your business on the web... _everybody_ is depending on the Internet. We're all in this together.</comment>


Am I doing it right? [ PHP Facebook Authentication ] - <AUTHOR>

I'm trying to fetch User Information from Facebook, and inserting it into the database. Is it the right way to do it? Is it extendable - Can I add more permissions later without losing the previous signups?<p>https://github.com/AbhishekBiswal/PHP-Facebook-Login <comment><USER2> While a lot of HN members are programmers, we usually don't discuss these kind of questions here. I think you'll have more luck if you post your question at StackOverflow.</comment>


Contract Killer - <AUTHOR> https://gist.github.com/malarkey/4031110

<comment><USER2> This is a killer Contract, short and on the spot, and easy to modify for your personal needs.

Thanks for sharing</comment>


Facebook Says It Won't Use New Face Recognition to Suggest 'People You May Know' - <AUTHOR> https://gizmodo.com/facebook-wont-use-all-powerful-face-recognition-to-sugg-1821430604 <comment><USER2> sure sure

<comment><USER3> Could you please start commenting substantively, like the guidelines ask?

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)</comment></comment>


'Cree.py' Social Engineering Tool Pinpoints A Person's Physical Location - <AUTHOR> http://ilektrojohn.github.com/creepy/

<comment><USER2> Neat. It's pretty much exactly what Color is trying to do, except it cost $41 million less to make.

<comment><USER3> Speaking of Color, you can use Color it in combination with this locator and this:

[http://www.digitaltrends.com/mobile/color-hack-allows- users-...](http://www.digitaltrends.com/mobile/color-hack-allows-users-to-spy- on-anyone-from-anywhere/)

to massively multiply your creep factor.

<comment><USER4> People love the new "everything is social" movement (twitter, FB, etc) and now color. The problem is that people don't realize what they are exposing and the conflict of interest is that these companies want EVERYTHING exposed so they can advertise/market.

That's the problem. People just don't get it. Or rather people don't realize the value their personal data has.

</comment></comment></comment><comment><USER5> Well, I hope this doesn't surprise anyone. I'm running under the assumption that people who use Foursquare and other such geolocation services are fully aware that they can be used to find out where they've been. If that assumption is false, I think I'm going to become a hermit.

<comment><USER2> Well, it does other stuff like mine pictures for meta tags, the privacy implications of which wouldn't be obvious to a non-techie.

<comment><USER6> And I doubt most people realise;

Twitters tweet location

* Coordinates when tweet was posted from mobile device [side note: is this feature 'enabled' by default on some mobile clients?]

* Place (geographical name) derived from users ip when posting on twitter's web interface. Place gets translated into coordinates using geonames.com

* Bounding Box derived from users ip when posting on twitter's web interface. The less accurate source, a corner of the bounding box is selected randomly.

<comment><USER7> _is this feature 'enabled' by default on some mobile clients?_

Pretty sure it's disabled by default on the official android client, but I'm sure somewhere there's some client that has it always on.

</comment></comment></comment></comment><comment><USER8> This is awesome. Kinda scary for you guys that use geolocation with everything though. I personally try to avoid it.

<comment><USER9> Geo-tagging your photos is kinda cool, and it's a feature that I would find interesting if I had a device that supported it, but I would make _sure_ to strip those tags before publishing the photos anywhere.

<comment><USER10> Startup idea: Strip.py?

<comment><USER11> >>Strip.py

Write in Erlang. Surprisingly, Strip.er and Stripp.er are free...

Eritrea is an unusually disgusting dictatorship afaik, so they'll probably be happy to sell domain names (along with body parts of people with the wrong opinions). Lots of English words end in 'er', right? Another business idea -- offer to administer the top domain.

Edit: <http://en.wikipedia.org/wiki/.er>

<comment><USER7> I don't think they're for sale, actually.

</comment></comment></comment></comment></comment><comment><USER12> Unrelated, but I've been noticing that sites like whitepages.com and LookupAnyone.com seem to be showing up higher in Google and many have people's home addresses displayed for free. I saw one that seemed to list almost all of the 12 or so addresses I've lived at in the last 15 years, plus a map with a pin at my current address, and a list of all of my immediate family members. This is all data (theoretically) gathered from publicly available records.

If anyone wants to stop by, just call first. I'm sure my number is on those sites as well. :) Makes me feel like signing up for Facebook.

</comment><comment><USER13> Does anyone remember an application that uses the information gathered by tools like this to predict where a user will be at any given time? I'm not sure I understand the difference between that concept and what this does?

If no-one has actually built it, then I'm really disappointed as it's quite simple - and I would be pretty easy to locate too. We're all creatures of habit.

</comment><comment><USER14> Twitter icon in the app is awesome.

</comment><comment><USER15> Neat this like a more general implementation of the latitude tracking program from XKCD: <http://xkcd.com/596/>

</comment><comment><USER16> Been running it for about 15 minutes now and its still downloading the tweets/photos. Anyone else experiencing this sort of delay?

<comment><USER17> Yeap, it gets like this for users with many (>5000) tweets, a big number of which contains some link to image hosting services or foursquare . I guess that the amount of retrieved locations will make up for the wait.

<comment><USER18> I get the same for people with <1000 tweets, and it eventually terminates with some sort of error. It can't retrieve twitpic photos and returns a 502 for one.

Running it on Windows 7.

I wouldn't be surprised if the error is with Twitter.

</comment></comment></comment><comment><USER18> Has anyone used this successfully? (Especially on Windows?)

I keep getting errors.</comment>


How do you resist working when you shouldn't? - <AUTHOR> I've got a weekend to myself and I'm struggling not to fire up Xcode and work on the app I'm trying to finish. I know if I work now, I'll pay for it it later in the week. I'm trying to keep burnout at bay so I need to protect my down-time.
What do you do when you don't have any plans and your laptop is calling you?
I know, I know; leave the house, go for a walk. But how can that compete with the allure of PRODUCTIVITY! PROGRESS! GETTING THINGS DONE! <comment><USER3> I agree with others that you should do something further from your main work. Since you struggle with that, what about working to complement your development efforts?

What are your long-term goals beyond releasing the app?

Do you want to have many people using it? Will they pay? How do you want to market the app? Do you want to hire or join a dev team? Do you want to manage a dev team?

Technical sales, coding for a team (instead of yourself) and management are all learnable skills, but they don't seem as time-critical to an engineer so they seem like they can be pushed off.

However, you need to start somewhere, and if you focus on shipping something out the door then you'll never get off that near-term treadmill. So, read up on those, listen to podcasts or videos on the topic, etc.

Or, are you working on the weekend on your off-time to develop software for your employer? In which case, I'm sure your employer is happy with your free donation of part of your life, and won't do hardly anything in return.

Or, are you worried that co-workers are also working on the weekend and you'll lose your job if you don't keep up with them? In which case, you're in a race to the bottom. Start learning about labor-management relations from a pro- labor perspective.

<comment><AUTHOR> Working for myself which I think exacerbates the situation since I have full ownership of any success I can achieve.

I actually have ended up thinking about my marketing efforts and watching videos about that instead of tinkering with the app (or other appealing ideas that inevitably emerge during down time).

<comment><USER3> Here are more not-programming things.

Do you have early customers/friendly users? Have you done any UI testing? Paper prototypes? Do you have a clear idea of your users' goals?

While dated, read "The Design of Everyday Things" and "The Inmates Are Running the Asylum".

If you don't have users even to the level of being able to provide early feedback for non-functional UI designs, then you are probably doing too much coding and not enough user testing.

(That's easy for me to say, but there's a decent chance I'm wrong.)

</comment></comment></comment><comment><AUTHOR> Some sort of divine intervention answered my panicked cry for help by disabling my laptop soon after I posted this. It had just finished a backup when it went into some sort of "kernel task" CPU overdrive which stopped the battery charging and now it refuses to turn on. (2018 MacBook Pro - <USER2> exhibited this symptom when I first got it so I'm pretty sure that the worst case scenario is a trip to the Apple Store and a little time to work on things away from the computer). Fingers crossed it miraculously recovers tomorrow morning

</comment><comment><USER4> If you're this attached you could literally go on a short weekend trip or day trip leaving your computer behind.

Also, generally, don't forget to take vacation time. Especially solo trips!

But I actually have the opposite problem, I struggle to do any sort of computing work, even leisure projects, after my work day is over. For me, work has ruined the hobbyist aspect of computing.

Sometimes you need to get yourself in the mentality of the employee who knows that they're just selling precious life to the employer. I absolutely don't stay past 4:59 and usually work something closer to a 9:30 to 4 day (nobody really notices).

On the bright side, at least you're motivated by your work.

</comment><comment><USER5> Find another hobby or passion outside of technology that you also enjoy and pour you energy into that on weekends; you can have productivity, progress, and getting things done there instead. Even leaving the house and going for a walk can be gamified to quantify progress by tools like Fitbit or some other step counting / heart rate monitoring gizmo.</comment>


Rethinkscape – A New UX/UI Proposal for Inkscape - jarek-foksa https://github.com/PIWEEK/rethinkscape

<comment><AUTHOR> Not clear to me why the README.md has no images of the design itself or its rationale but rather just some dudes bro'ing out on a patio. My intention is not to sound negative... there are good ideas happening here but the README.md is a poor first impression.

</comment><comment><USER2> Better link: [http://piweek.github.io/rethinkscape/](http://piweek.github.io/rethinkscape/)

</comment><comment><USER3> Maybe it's not in a place where its easy to understand what is different, but here's what I would change - not a damn thing. Inkscape is one of a rare breed of program where almost everything is clear and discoverable. I really vote evolution more than revolution.

<comment><USER4> I agree. I used Inkscape for a while, then decided I needed "pro" tools, so bought Adobe CS, and learned Illustrator. Inkscape is just more obvious, to me. There's certainly some bias for me paused on having used Inkscape before Illustrator, but I used Corel Draw for longer than either and never was as comfortable with it as Inkscape. There were others along the way, as well, but Inkscape just stands out as the most usable for me.

Certainly, Illustrator is more powerful and complex, but many aspects are just utterly opaque and require a lot of googling to figure out. I regularly choose Inkscape over Illustrator, despite having ready access to both. Unless I need to share my work with someone who only has Illustrator I just tend to get more work done faster.

<comment><USER5> Inscapes issues are not with its UI, but in some of its concepts, ie knowing the difference between an object and a path, perhaps making that more obvious, ie making the menues context sensative depending on what is selected. Too many menu options silently do nothing wjen tne wrong kind of item is selected. For a new user it makes discoverability slower as they often cant tell from the visuals what the item is.

</comment></comment></comment><comment><USER6> I am one of the project creators. This was a last year project in our company innovation week ([http://piweek.com/](http://piweek.com/)) but it never become a large project because it is hard to make changes to the

Inkscape UI if you are not a developer. So it was just a first draft to see if inkscape developers will like our ideas and we could help them to improve the UX/UI for future releases. It did not work and we just left the project.

The useful links you are looking for are: [http://piweek.github.io/rethinkscape/](http://piweek.github.io/rethinkscape/) Docs: [https://github.com/PIWEEK/rethinkscape/tree/master/docs](https://github.com/PIWEEK/rethinkscape/tree/master/docs) Mockups:[https://github.com/PIWEEK/rethinkscape/tree/master/mockups](https://github.com/PIWEEK/rethinkscape/tree/master/mockups)

Thanks!

<comment><USER6> I've just updated the README. Sorry!

</comment></comment><comment><USER7> AFAICT, this started about 7 months ago and despite clicking their #rethinkscape hashtag I don't think it went anywhere.

</comment><comment><USER8> I'm not digging the use of such a prominent accent color (orange everywhere) in the interface itself. I think it might distract from the actual artwork. (I know they're just mockups, but I think the idea is probably going to stay if no one gives them a heads up)

</comment><comment><USER9> does anybody of you feel that when this kind of UX/UI redesign project comes up it feels somewhat... bullshity (sorry for my words, but I could not find any better)? Especially when the README.md is a bunch of pictures of some dudes chilling out on a patio, etc. This gives zero confidence in the project.

<comment><USER10> A decent designer could improve inkscape ux while half asleep on a patio though they might be better off falling completely asleep and getting some rest.

<comment><USER9> I would not propose a project, even a trivial one, and slam a picture of myself bro'ing out. It gives no respect neither to the project, nor to the authors.</comment></comment></comment>


Airbnb, other sites owe city hotel tax, S.F. says - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2012/04/04/BA621NUAMI.DTL

<comment><USER2> "Supporters of the treasurer's move say it's a simple matter of fairness, with tourists picking up a portion of the tab for the police, transit and street cleaning they enjoy while visiting."

Not really. The people that own the house pay taxes for the police and fire. While they are out of town, they are not utilizing those services.

Hotels are different. They are designed to rent out to multiple people.</comment>


Google search results marking everything as 'This site may harm your computer' ? - <AUTHOR> http://dl.getdropbox.com/u/362249/ps3%20-%20Google%20Search.png Is it just me or is every result from Google at the moment marked "This site may harm your computer" - see screenshot. <comment><USER2> I'm getting the same thing.</comment>