How I gave up alternating current - <AUTHOR> https://arstechnica.com/gadgets/2015/08/op-ed-how-i-gave-up-alternating-current/ <comment><USER2> A home without a fridge, a microwave, no AC, using a battery powered projector as a TV, why not just live in a cave? Much more environmentally friendly.</comment>


A quick thought on hiring diversity - <AUTHOR> https://medium.com/@cynicalgrinch/a-quick-thought-about-diversity-441b98827676#.qsvja2egm <comment><USER2> Lack of perspective is the main advantage? Why not do deep testing?

I know Peter Theil is outspokenly against diversity early on. [https://www.entrepreneur.com/article/237677](https://www.entrepreneur.com/article/237677)

I know that it's politically correct for large companies to have to champion the value of diversity. They obviously are unwilling to pay for it though, which poses the biggest question.

I have one serious ongoing question that is hard to satisfy. Why are we having to "raise awareness" to the benefits of diversity? If there are tangible benefits, would that solve the problem by itself?</comment>


Ask HN: What's Your Hobby? - <AUTHOR> <comment><USER2> I used to collect vinyl, but now I have a 3 year old who consumes most of the time I would otherwise devote to hobbies. She destroyed a couple Bob Dylan records early on, so all of my records are in hiding.

In the last few weeks, my girl and I have built several train tracks, built dozens of puzzles, read parts of about a hundred books, gone to see dinosaurs at our local Museum of Natural History and gone to watch planes take off at the airport. I play a lot of Monster and talk like a unicorn. Sometimes, I let one of her stuffed puppies pretend to drive. She's potty training so we talk about poop and pee far more than I'm comfortable admitting. It's a non stop laugh riot...

</comment><comment><USER3> Watching incredibly low-brow reality TV: Big Brother, Alone, Survivor, Project Runway.

I used to feel guilty about it, but at the end of a really taxing mental day, it's fun to unplug by watching a wide variety of people solve soft skill challenges. It puts my own problems into a different perspective. At the end of an hour or two of that, I walk away going, "Whew, I really love what I do, the community I do it with, and my family, because I'd fail miserably in an environment like one of those."

<comment><USER4> That's pretty surprising coming from you. I would have guessed.... stand up comedy.

<comment><USER3> Ha! I do watch that for inspiration - also, magic shows.

</comment></comment></comment><comment><USER5> I make creepy, angry and aggressive music with a classical flavour to it. Here's a short instrumental that gives a bit of the idea:

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

Actually its not always angry, but it does tend to go in that direction. I love the energy.

Here is something with vocals: [https://www.youtube.com/watch?v=gc0LbD5D_Hc](https://www.youtube.com/watch?v=gc0LbD5D_Hc)

You can see me prancing about a couple times in that vid.

I also study constantly. Right now I'm on a sabbatical dedicating the time to Lisp and its quantum connections, which is really just a newer manifestation of my early 90's Artificial Life obsessions. Unsurprisingly I'm in the middle of a course on the Origins of Life through Santa Fe Institute.

</comment><comment><USER6> Pushups

Last few months, I do pushups whenever I get a chance. Averaging about 120 pushups/day for the last ~3 months. Got a few friends/family interested, so now there's ~25 people doing pushups everywhere (bars, sidewalks, airports etc.). They've set goals of 10K or 50K pushups in a year, depending on their desire/fitness levels.

The results have been surprising, people who could only do 1-2 pushups at one time, are regularly doing 50+ over the course of a day.

It's been a lot of fun, even if it's not the most balanced workout :D

<comment><USER7> Have you noticed any difference in your body?

<comment><USER6> Definitely. A visible difference.

Tighter abs, more defined pecs and deltoids. Also a lot of soreness, but it comes/goes in cycles.

<comment><USER8> You should read "Body by Science" to prevent destroying your bones, cartilage and to waste time. There is such thing as the golden minimum.

</comment></comment></comment></comment><comment><USER9> 3D printing. I picked up an ANET A8 about a year ago. It was the cheapest printer available at the time. I had absolutely no idea how hard it was to keep these things running smoothly. They are like very challenging puzzles that constantly need resolving. Issues like temperature, alignment, vibration, etc which all affect the quality of your print. Unfortunately, I'm not very good at it, but I enjoy it still.

</comment><comment><USER10> I have lots of hobbies and the time I've devoted to them changes over time. My primary hobbies are: playing music, traveling, reading, scuba diving, making.

A few years ago, I started making word clocks. Now I have a refined design that my wife and I are producing in our basement and starting to sell at low volume: www.finewordclocks.com.

Making clocks is also a great excuse to buy cool tools. We have a probotix asteroid cnc in the basement. I have a 3yo and 6yo. It's been fun getting them involved in making things. Most of the presents for their friends' birthday parties are home made (mostly by me but with the kids' participation) and are REALLY well received.

</comment><comment><USER11> Music - Both me and wife are some sort of musicians. I play drums and I am trying to also get into production/mixing

Hiking - I love hiking and mountains

Futsal - used to be a good goalkeeper, but after a broken ACL and now a broken scaphoid, I think i'll stop this year

DIY - I like building stuff. I don't have a lot of tools, so often things don't turn out perfect, but I'm usually satisfied with the end result

</comment><comment><USER12> I was going to say that I don't have a hobby at the moment, but I suppose that's not true. Outside of work, family, and church responsibilities, I am:

\- learning to type in Russian. After two weeks, I'm hitting about 25 wpm using 6 letters on keybr.com

\- running four times a week, training for a half marathon

\- trying to help a friend start exercising to improve his mental health

\- oh, and I'm running a monthly 'board game night' and also trying to host tech networking events in the small town where I live

I recently started a new job, (re)learning javascript and learning React and friends, and, oh my goodness, I'm mentally exhausted when done. Recently when I've tried to do some coding on the side, I'm just too tired.

</comment><comment><USER13> \- Ido Portal movement. A unique approach to improve body's capabilities incl. strength, mobility, coordination, balance, speed, rhythm, etc. [1]

\- Brazilian Jiu Jitsu. The learning process is heavily impacted by John Danaher, a BJJ instructor who holds Master Degree in Philosophy and describes the BJJ system using principles learnt in philosophy [2]

[1] - [https://www.instagram.com/portal.ido/](https://www.instagram.com/portal.ido/)

[2] - [https://www.instagram.com/danaherjohn/](https://www.instagram.com/danaherjohn/)

</comment><comment><USER14> Cycling. Lots and lots of cycling. Road or mountain, I do it all. Century rides (100+ mi rides), charity rides, etc. and I'd love to get into gravel stuff one day too.

</comment><comment><USER4> Building drones - sometimes I actually fly them.

<comment><AUTHOR> Let's collab

</comment></comment><comment><USER15> Surfing and fly fishing. I'm lucky to live in a place where I can do both.

</comment><comment><USER8> I write poems.

<comment><AUTHOR> Show me!

<comment><USER8> On Hobby

</comment></comment></comment><comment>===

Roses are pink

Tulips are black

I like to think

That's why I hack

<comment><comment>~

On the importance of sleep

</comment></comment></comment><comment>===

In the ev'ning when the sun

Was setting, it went down

Said it needed have some rest

So that it could be the best

Rising fresh again next day

Shining bright all the way

<comment>~~

On Friendship

</comment></comment><comment>===

Better hungry than eat rotten

Let this precept not forgotten

Even birds belong to flocks

See them penguins on the rocks?

Better shoeless than in pain

Better be alone, and sane

■ I wrote these impromptu just for you. They may be childish but they certainly make sense (compared to the what the imagists etc write).

<comment><AUTHOR> That last one! Woah!

<comment><USER8> Thanks, :) the English language has serious limitations in how meaning can be molded to convey multiple-entendres, unlike some Asian/Oriental languages where one line can have at least 4 to 5 differing, contradictory-yet- supporting senses, which in the end causes an intellectual high that makes one stop--you cannot digest more than one line a day--and even so it makes you think about it all day long. :)

</comment></comment></comment><comment><USER16> I can draw well

<comment><AUTHOR> Show me.

<comment><USER16> [https://www.deviantart.com/billconan](https://www.deviantart.com/billconan)

<comment><USER17> Wow. That's really impressive!

I totally get that art isn't always for profit. However -- I'm always demoralized by the sheer amount of drawing, painting, etc talent that doesn't get financially rewarded. Slightly off-topic and doesn't necessarily apply to you!

<comment><USER16> Thanks. I'm not a professional. I need drawing because it calms me down.

</comment></comment></comment></comment></comment><comment><USER18> banjo

<comment><USER19> Me too! Been playing about a year now.

<comment><USER18> I find it very relaxing and accessible. I mean I guess guitar is too, with a lot more literature. But a big attraction of the banjo for me was the open source nature of folk music.</comment></comment></comment>


Upcoming changes to KDE version control infrastructure: SCCS - <AUTHOR> https://mail.kde.org/pipermail/kde-community/2016q3/003026.html <comment><USER2> World's longest April fools joke? 'We have tentatively planned for the migration to happen on the first Saturday of April, next year'. 4/1/2017</comment>


Huawei's chip arm HiSilicon says it has long been preparing for US ban scenario - pseudo-nym https://www.straitstimes.com/asia/east-asia/huaweis-chip-arm-hisilicon-says-it-has-long-been-preparing-for-us-ban-scenario <comment> pseudo-nym Huawei licenses technology for chips from companies from companies that complies with export blacklist. Current chips can continue be made but they can not get licensed for updated version of technology.</comment>


Fireflies inspired energy-efficient lights - <AUTHOR> https://www.bbc.co.uk/news/science-environment-48152165 <comment><AUTHOR> A horribly simplistic explanation, rather than a factory roof to me it looked like a diffraction grating, but try getting that past the science censors.

<comment><AUTHOR> Via his Wikipedia entry:

[https://en.wikipedia.org/wiki/Jean- Pol_Vigneron](https://en.wikipedia.org/wiki/Jean-Pol_Vigneron)

I came up with this more technical explanation

"The protrusions repeat approximately every 10 µm, with a height of approximately 3 µm"

[https://www.photonics.com/Article.aspx?AID=52714](https://www.photonics.com/Article.aspx?AID=52714)

Sounds likes his up there with J Scott Turner:

[https://en.wikipedia.org/wiki/J._Scott_Turner](https://en.wikipedia.org/wiki/J._Scott_Turner)</comment></comment>


Id as Super-Ego: The Creation of Duke Nukem 3D (2001) [pdf] - <AUTHOR> http://fabiensanglard.net/duke3d/id%20as%20Super-Ego-%20The%20Creation%20of%20Duke%20Nukem%203D.pdf <comment><USER2> I took an interest in programming in high-school and ran into Todd (mentioned in the article) in the lobby of an online first-person shooter. The topic of programming came up, and I explained where was at in this whole coding-thing.

After a few games, Todd gave me a challenge: Thoroughly understand multilevel pointers, and then explain it back. In doing that, there would be a cash reward.

Hell yeah! So, I studied. Eventually, something clicked and I was able to answer those interview-style questions he threw at me. I ran the whole "money from a video game" thing past my parents, and Todd followed through on his promise. That small gesture fueled an understanding that projected into a career.

Interesting article, it's worth a read; there are good people behind it. Thanks again.

</comment><comment><USER3> I also highly recommend this piece by the same author: [http://fabiensanglard.net/duke3d/build_engine_internals.php](http://fabiensanglard.net/duke3d/build_engine_internals.php) (skipping to page 2 which I think is more interesting)

The software renders of yore actually got me thinking about them in a modern context, how they could be extended, and in what ways they could compete with GPU-based algorithms on a per-cycle basis. I think there is still much area to be explored here, given we mostly stopped researching realtime software rendering as GPUs became dominant - I think there is a lot of unexplored area left.

Also one piece of software I think is severely underrated is Ken Silverman's Voxlap: [http://advsys.net/ken/voxlap.htm](http://advsys.net/ken/voxlap.htm)

Released in 2002, it was way ahead of its time.

<comment><USER4> It looks like Ken is currently employed by a company called Voxon Photonics which is developing glasses-free 3D holographic displays: [http://voxon.co/about-voxon-photonics/](http://voxon.co/about-voxon- photonics/)

</comment></comment><comment><USER5> For anyone who finds this interesting, I strongly recommend "Masters of Doom" by David Kushner, which focuses on the history of iD software, John Carmack and John Romero.

</comment><comment><USER4> Those web page printouts at the bottom of the PDF are incredible! Most of the time the Internet Archive's snapshots are missing images or other assets but these are complete and excellent examples of the web design of the era.

</comment><comment><USER6> According to his website (bottom of the pdf), Ken Silverman's favourite optimisation is: sub eax 128, add eax -128

Can anyone explain this to an assembly rookie?

<comment><USER7> [http://advsys.net/ken/add-128.htm](http://advsys.net/ken/add-128.htm)

<comment><USER8> Now that's attention to detail.

</comment></comment></comment><comment><USER9> > Chief of these was the level editor that he designed along with the engine, > which, for the first time and surprisingly the last time, allowed a level > designer to "walk" through the level in 3D as he was designing it. This > WYSIWYG (what-you-see-is-what-you-get) mode allowed the designers to create > levels in a far more natural way then they would be able if they were merely > using lines on a grid.

Not was the last. Obvisuly, the guy that wrote this on 2001, not know UnrealEd. The map editor for Unreal engines have this capability. Eventually, even map editors for classic DooM would have it (Check DoomBuilder for example)

<comment><USER10> The Serious Sam engine also had this capability: [https://www.youtube.com/watch?v=8bmTUgySSyk](https://www.youtube.com/watch?v=8bmTUgySSyk), which I thought was pretty neat. I don't have any experience with Game design, but I thought this more dynamic behavior would've been more common? It certainly seems useful.

</comment></comment><comment><USER11> If you like this, the following videos are quite interesting: [https://www.youtube.com/playlist?list=PL8BB189B81A301EEB](https://www.youtube.com/playlist?list=PL8BB189B81A301EEB)

[https://www.youtube.com/watch?v=cv- byZAauAs](https://www.youtube.com/watch?v=cv-byZAauAs)

</comment><comment><USER12> You never hear anything about other 90's 3D engines like Dark Forces, Marathon, or Descent.

<comment><USER13> There's open-sourced source code available for two of those.

[http://www.codersnotes.com/notes/the-man-behind-the- curtain/](http://www.codersnotes.com/notes/the-man-behind-the-curtain/)</comment></comment>


Cortana Web searches in Windows 10 will now only be able to open Edge and Bing - <AUTHOR> http://arstechnica.com/information-technology/2016/04/cortana-web-searches-in-windows-10-will-now-only-be-able-to-open-edge-and-bing/ <comment><USER2> What better way than to force it down their throats.</comment>


New Startup Incubator (in Austin, TX) Adds New Mentors, Calls for Companies to Join - <AUTHOR> http://austinist.com/2009/03/11/startup_incubator_adds_new_mentors.php <comment><USER2> have never been to austin, but I imagine its very hot there in the summer :)</comment>


Ask HN: How many HNers are happy? - <AUTHOR> I wish to know how many of you are actually happy and content with where they are.<p>It does not mean that you do not desire more, but more like you are extremely satisfied with what you have right now. <comment><USER2> Some days I feel better, some days I feel worse. I can see many people who are less successful than me in various ways and I see others who are more successful.

I say being satisfied is a matter of being satisfiable.</comment>


Ask HN: Javascript mouse tracking library - <AUTHOR>

I'm working on a project that involves tracking mouse movements on a webpage, and submitting them to the server for playback on another computer. I've been looking around but can't seem to find a good javascript library for the job. There are a few older examples written in Prototype, but I'd prefer to use JQuery or just plain javascript.<p>Ideally I'm looking for a method that will take very little bandwidth (i.e. quick to submit to the server), and will POST back the results in near-realtime. Before I go ahead and write my own library from scratch - does anybody know of an existing javascript source which could be extended for this purpose? <comment><USER2> I don't know of a library, but I have seen some sites that offer software to do it.

I'd try <http://mouseflow.com/>. I haven't used it yet, but it looks cool.

I used <http://www.crazyegg.com/> on a project a couple of years ago and it got the job done; though it may not be what you're looking for.

<comment><AUTHOR> I'm using Mouseflow for one of my sites at the moment, and I've also used CrazyEgg in the past. They're both great services, but I'm looking for some custom javascript to integrate into my own app.</comment></comment>


Keeping track of hypotheses, experiments and goals in startups - <AUTHOR>

What do you use to keep track and share information about your hypotheses, experiments, associated features etc. in your projects / startups?<p>I feel like it becomes very complicated over time to keep track of all the information your startup receive through those tests and customer interviews and to share this with co-founders and employees. How do you deal with this? <comment><USER2> I find using a simple excel sheet, with the following columns helps me: Objective (what action trying to drive like "increase traffic to site") Lever (overall bucket like email or SEO or PR) Tactic (specific initiative like "write 5 blog posts re: X" or "get 2-3 quality press coverage articles") Metric (how you'll be measuring success like "2x traffic in 4 weeks" or "increase conversion by 4%) Lead (team member responsible) Learnings (summary of findings)

Though it doesn't cover everything, I find it helpful to review with team on Mondays to make sure everyone is on same page about week's priorities and any recent findings.

The trick I find is in sticking to it, whatever the system is.

</comment><comment><USER3> I've had the same problem. I tried using Basecamp, Trello cards, and spreadsheets, but none really helped organize my thoughts how I wanted. What I did want was somewhere I could define ideas, define tests / hypotheses, and collect feedback so that I could see all this information in one space.

I ended turning this problem into a side project (leanlab.io) which you could checkout ;). I also know that Javelin are doing something similar with experiments (experiments.javelin.com).

</comment><comment><USER4> \- I use heavily google spreadsheets. However after a month of customer development, it becomes messy. Still the best solution I tried. \- I tried trello but I ended up spending more time organizing cards. \- communication: slack. It's sick!

</comment><comment><USER5> A notebook and a pen, does the trick for me.</comment>


Revised Font Stack - <AUTHOR> http://www.awayback.com/revised-font-stack/ <comment><USER2> I might be daft, but this article doesn't explain (and seems to assume it's perfectly obvious) why in the world you should use

        Arial, sans-serif

instead of:

        sans-serif

at the bottom of a stack. If I am on a platform where Arial looks OK, it should already be my default sans-serif font, right? Currently, I have Arial installed, but I've set my default sans-serif font to DejaVu Sans Mono, which (subjectively) looks better on freetype. But most sites force Arial. It seems like a cargo-cult sort of thing.

This problem is worse with monospace fonts (even more subjectively, I am practically allergic to Courier New).

<comment><USER3> You should stick Arial at the bottom if your first-choice font is something similar in x-height and design sensibility, because it will make your site stay more consistent in design. If your first-choice font is a completely unrelated sans-serif, then there's no reason to put Arial at the end.

Thus, you'll notice that in this particular article, Arial is at the end of the "Helvetica" stack, but _not_ at the end of the "Gill Sans" stack.

Also, DejaVu Sans Mono is never going to keep design continuity with the site's intended sans-serif font, because it's monospace.

<comment><USER2> Erm, sorry, I just meant DejaVu Sans. But I do appreciate that its metrics are still different from Arial. Is that important in every application? Maybe.

<comment><USER3> Well, I think a lot of times you're right, the "Arial" at the end is just cargo-cultism, and should be scrapped; blame copy-pasta.

But yes, I think it's completely reasonable to have a design request Helvetica but fall back on Arial: to the regular reader the two look pretty much the same, which means that the design will stay working, both in layout and style, as the designer intended.

</comment></comment></comment></comment><comment><USER4> Thanks for this! I've used 'Better CSS Font Stacks' as my primary reference for a while. It's nice to have another, and it's extremely nice to be able to see some numbers about font presence on OS X/Windows.

(Better CSS Font Stacks: [http://unitinteractive.com/blog/2008/06/26/better- css-font-s...](http://unitinteractive.com/blog/2008/06/26/better-css-font- stacks/) \-- the PDF they link to at the end is highly recommended.)

</comment><comment><USER5> If you're bothered enough to do this sort of analysis on the display font wouldn't you choose an @font-face font?

<comment><USER3> There's nothing stopping you from putting one of those first, right? Either way, you should be careful about the fallbacks.

It's impossible for an article like this to discuss the proper stack for every possible @font-face typeface you could choose.</comment></comment>


Samsung overwhelms the tech world by unloading a plethora of gadgets at IFA - <AUTHOR> http://www.bgr.com/2012/08/29/samsung-strategy-analysis-galaxy-note-series-5/

<comment><USER2> Is it a macbookPro, an Iphone and an Ipad?</comment>


"Stop Designing Languages. Write Libraries Instead." - <AUTHOR> http://lbstanza.org/purpose_of_programming_languages.html <comment><USER2> > why can't a group of programmers just copy the design of Rails to Java? > [...] as of now, there is still no decent web framework for Java that is as > easy to use as Ruby on Rails. Why is that? [...] Well, simply, because they > can't.

> pretty much all of the Ruby language features come into play in some way. > Rail's ActiveRecords [...] Ruby's runtime evaluation features. [...] you > subclass ApplicationController [...] importing various mixins [...] > attaching a call back [...] Ruby is dynamically-typed and garbage-collected. > These features are simply not available in all other languages. Java's meta- > programming features, for example, are just not powerful enough to implement > a system like ActiveRecords. Rails is only possible because of Ruby.

Groovy and Grails tried to duplicate Ruby and Rails, even having soundalike names. Unfortunately, after its founder was managed out, Groovy (nowadays called Apache Groovy) lost its way and tried to diversify down many roads (e.g. generics, command syntax for Gradle, static type compilation, targeting Android) instead of sticking to its knitting and becoming the best possible JVM dynamic language for software like Grails, even eventually became good at none of its goals. So although it's a no-brainer that Grails would become as popular for the JVM as Ruby became for native apps (heck, Grails even bundles Spring), because of the incompetent project management of Groovy (which doesn't even have a roadmap now), Grails adoption faltered.

</comment><comment><USER3> Use the right tool for the right job. This includes picking the correct language and the correct patterns for that langauge. Of course Ruby's patterns that take advantage of metaprogramming don't work in Java. But Java has a very mature Web library, Spring. It uses heavily uses dependency injection. I find DI to be a nightmare in dynamic languages like Ruby or JS but works great in Java.

We need good languages and good libraries. Just as we need good math and good physics in mechanical engineering. They exist at different layers and are not exclusive.

<comment><USER4> I'm curious, what's the problem with DI in dynamic languages? I don't really get what you're missing other than type safety, which is inherent to everything you do in dynamic languages.

</comment></comment><comment><USER5> The author might want to look at Haskell: strong typed, extensible type system, good for DSLs, etc.</comment>


DeviceDetector: A user agent parser and device detector written in Ruby - <AUTHOR> https://github.com/podigee/device_detector

<comment><AUTHOR> Based on the extensive user agent library of Piwik ([https://piwik.org/](https://piwik.org/)) DeviceDetector is currently the fastest user agent parser and device detector in Rubyland (benchmarks are in the readme).

We built it for the statistics feature of Podigee, our little podcast hosting platform.</comment>


Grad school four months out - <AUTHOR> http://www.umbrant.com/blog/2013/grad_school_4_months_out.html <comment><USER2> I went to work at a startup after an MSc. I was there for little over a year, and now I am back in Grad school (the same where I was, in the UK).

Most of the differences you describe I experienced as well, except that holidays could be planned at a much shorter notice at our company, even though workdays were considerably longer (10 hours).

I also had to argue for, and then introduce, automated testing, and some other good practices that I'd expected to be industry standard (was nevertheless nice there was room for this, and it was appreciated in the end...).

After a while, though, I missed the research, the self-development, the thinking about broader problems, and also, even though the team was great; the social side of things (especially as the hours left me exhausted in the evenings and even into the weekend). I guess I'm someone who is happiest and most creative when working 8 hours or so, and not tired. I also missed my friends in Europe, and the life-style there (walkable cities, no abject poverty, etc).

As for working on important problems, yes I loved what the product tried to accomplish, and our company mission, but 80-90% of most peoples time was spent on bug-fixing, repaying/circumventing technical debt, and at best relatively minor features that most users probably would/should never notice. So on balance spending 10-20% of ones time on a new real-world problem, versus, say 70-100% on a theoretical one, might still end up in favor of the latter as for making a difference...

Everybody should make their own decision on grad-school vs industry, but trying both is definitely a good idea.

</comment><comment><USER3> Great post, thanks for taking the time to write it.

I took a similar route– quit my PhD program to join a startup at which I had interned the summer prior– and slowly find myself missing many aspects of grad school.

Will probably end back there at some point– if only there was a magical place with the best parts of grad school and the best parts of the startup world...

<comment><USER4> That is the premise of research arms in industry, such as Microsoft research? No idea whether they end up being co opted by business pressures or not?

</comment></comment><comment><USER5> I dropped out of grad school to work in a start-up, which also turned out to be my first proper full-time job after graduating from university. I had worked before, in internships and before university, which made me attractive to the company that offered me my get-out offer from grad school.

At the time, I was super stressed. I was working three days a week to pay for grad school and having to work pretty much every single day with barely any money to live on was hell. Start-up life, for me, was almost like a holiday. I was working regular hours, and although there were times where I was working hard and long hours it felt structured.

That being said, I absolutely loved grad school. The idea of it is what made me do it. My bachelors in CS left me wanting to know more, so a step-up was required.

I let my university know that I was struggling to make ends meet and that I would be leaving as I couldn't afford the next term. The university where I got my bachelors was as tight with money as possible, so I expected nothing, but they refunded EVERYTHING and wished me luck. I effectively got almost three months of education for free.

For that reason, I will return to grad school, and I will definitely continue it at the same university. Sadly, the price of a Masters degree in the UK has almost tripled, so it won't be any time soon. It if goes down to around £5k I'll definitely do it again.

<comment><USER6> That's absolutely incredible that your university refunded everything, and I'm glad to hear.

Maybe you should consider pursuing fellowships or work at companies that would pay for you to get a higher degree and also provide a reasonable living stipend. Seems to me like someone with the drive you have, clearly hoping to pursue it but financially unable to, is the perfect candidate for one of those positions.

</comment></comment><comment><USER7> Nice read, I always enjoy reading about the grad school experiences of people with similar background to mine.

> The main issue was that I never crisply understood all the use-cases and > requirements for the systems I was building. I felt weird making assertions > about how people wanted to use something, when I had never operated or used > it in the real world!

I think that if you're interested in building systems that actually get to be used <in the real world>, the industry is a better place. Personally, I enjoy doing a PhD because I have fewer restrictions which allows me to focus on the things I really find interesting. For example, I don't have to worry too much about making software user-friendly since it will only be used by myself or a handful of people, I don't have to handle tricky corner cases unless I'm actually hitting them on my data, etc.

You also get to work on problems that will only become relevant in the future, e.g. people who have been doing research relevant to many-core systems for quite some time.

</comment><comment><USER8> It's good to hear that Cal's grad program is good. I'm in undergrad here right now, and I plan to start researching next semester so I can integrate myself a little more into this side of things. Any advice? If you haven't left yet I'll buy you lunch if I can pick your brain.

<comment><USER9> I'm no longer at Berkeley, but I'm sure there are any number of professors or grad students who'd be happy to talk to you. I'd talk to Armando Fox if you want to get into research, he works with a lot of undergrads. He also runs a website (Research Match? something like that) which lists projects looking for undergraduates.

The CSGSA also hosts an undergraduate "research mixer" which is a chill way of speed dating a bunch of projects.

</comment></comment><comment><USER10> I am about to return to grad school after working a bit in industry; so this article is very relevant to me. I will be doing a Masters right now, but I do plan on doing a PhD afterwards.

I am constantly splitting my brains about how I can work on an "important" problem; something where my expertise will be relevant years after grad school, too. And I don't want to become a professor and there is a chance I might choose to go back to my home country (not much of compsci products, but very good e-commerce and banking); so my expertise should be of value even in a consumer-of-technology (not producer) economy.

If anybody has ideas about how to pick an area for research, I'd love to hear.

<comment><USER11> If you want to make an impact on an important problem, I'd focus on the advisor first, not the area of research. Pick an advisor with a track record for strong publications in quality journals. Someone who produces quality research will typically have the best sense of what problems are and aren't important, and can guide you much better than bystanders who don't know your skills. In addition, a strong advisor will have the contacts necessary to get you in touch with other top researchers in your field, which is extremely important in producing high quality publications.

<comment><USER12> Depends on what you need.

The one with lots of publications in big-deal journals may or may not be running a sweatshop. And they may or may not be doing actually interesting science, because that game requires so much attention to fashion, fundability and grinding out large quantities of papers (contrary to common belief, prestigious journals do not mean journals publishing the highest quality papers).

But if you want to learn that particular trade then find the advisor best at it to study under.</comment></comment></comment>


Off-Facebook Activity - <AUTHOR> https://www.facebook.com/off-facebook-activity <comment><USER2> Hmm, a clear history feature that does nothing of the sort. Sounds like Facebook!

The product manager in charge said: "people were able to mentally connect that with how their browser controls work, where they can clear their history. We clearly state that … the information isn't connected to your account." [0]

So, they deliberately designed it to make people think it works like a browser's clear history feature (which does delete everything), but instead, it 'disconnects' the data (but doesn't delete anything).

Such a bunch of weasels.

[0] [https://www.theguardian.com/technology/2019/aug/20/facebook-...](https://www.theguardian.com/technology/2019/aug/20/facebook- launches-clear-history-tool-but-it-wont-delete-anything)

<comment><USER3> That's why it's not called clear history anymore...

<comment><USER4> propose the original comment was more about the behavior of Facebook being mechanized both at interface and internal product culture to be anti traditional Western/free thinking human from the bleeding edge of our ever emerging attention capital economy.

</comment></comment></comment><comment><USER5> Ugh, this just reads so slimy. Like, "Occasionally, businesses share that data with Facebook." or "We sometimes receive information from businesses that use third-party data..." Like it just happens to occur. 'Yep, It's just a natural process, buddy, like the sun rising. It just happens. But we're here to help you deal with this mysterious problem, because we're the good guys!' There's so much grossness to opt out of in the modern world. Thank god for GDPR and CCPA.

</comment><comment><USER6> 'The off-Facebook activity setting isn't currently available to you right now.'

Smart, announcing it without it being usable, so when it's silently rolled out later people will have forgotten about it. Never change, FB.

<comment><USER7> It's rolled out in Ireland, South Korea and Spain to start, more countries are coming soon.

<comment><USER6> Sorry, but my point stands. In Facebook's case, there is absolutely zero reason to assume good intentions, give the benefit of the doubt, have general good-will, or believe its employees regarding privacy aims.

<comment><USER8> Which social media company would you believe regarding privacy?

<comment><USER9> Purism: [https://librem.one/](https://librem.one/)

<comment><USER10> Any social with a monthly fee is not going to hit the same network criticality that makes Facebook reign supreme. Attracting people to a new service is hard enough tell them it'll cost 50$ a year and it's hopeless.

<comment><USER11> The network is not the same thing as the provider. Anyone can use Mastodon for free, so Purism is part of a larger network than just Purism.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> This is the clear history feature that was announced a year ago: [https://news.ycombinator.com/item?id=16969325](https://news.ycombinator.com/item?id=16969325). See also the engineering post that explains some of the challenges in implementing this: [https://engineering.fb.com/data-infrastructure/off- facebook-...](https://engineering.fb.com/data-infrastructure/off-facebook- activity/)

<comment><USER13> Since no one else has asked yet: You seem like a nice guy who could probably get a job elsewhere easily. Why are you still at FB?

<comment><USER14> Maybe the position of VP of AI at other FAANG companies was already taken, and there were no other alternatives at the similar level of prestige and compensation in the job market.

<comment><USER13> >>similar level of prestige

Assuming this isn't sarcasm, this is how the word prestige is defined - "denoting something that arouses widespread respect or admiration".

Facebook lied to ad buyers (customers) about video views

[https://www.theverge.com/2018/10/17/17989712/facebook- inaccu...](https://www.theverge.com/2018/10/17/17989712/facebook-inaccurate- video-metrics-inflation-lawsuit)

Facebook lied to users about their spying app

[https://www.forbes.com/sites/zakdoffman/2019/03/02/facebook-...](https://www.forbes.com/sites/zakdoffman/2019/03/02/facebook- caught-lying-about-spying-on-teenage-users-data-yet-again/#b5b53b142888)

Facebook lied to regulators about its ability to combine user data

[https://www.theverge.com/2019/2/7/18215143/facebook- whatsapp...](https://www.theverge.com/2019/2/7/18215143/facebook-whatsapp- instagram-third-party-user-data-combined-banned-germany-fco-competition)

Facebook lied to journalists about the CA issue

[https://www.vice.com/en_in/article/qv777x/facebook-lied- to-j...](https://www.vice.com/en_in/article/qv777x/facebook-lied-to- journalists-about-how-bad-the-cambridge-analytica-scandal-was)

They don't mind doing mood manipulation experiments

[https://www.theatlantic.com/technology/archive/2014/06/every...](https://www.theatlantic.com/technology/archive/2014/06/everything- we-know-about-facebooks-secret-mood-manipulation-experiment/373648/)

They have absolutely no qualms stooping low enough to steal money from kids

[https://www.consumerreports.org/privacy/facebook-friendly- fr...](https://www.consumerreports.org/privacy/facebook-friendly-fraud- scandal-what-parents-need-to-know/)

Based on the definition above, there is only one prestigious job left at Facebook. Whistle-blower.

<comment><USER14> > Assuming this isn't sarcasm, this is how the word prestige is defined - > "denoting something that arouses widespread respect or admiration".

"Prestige" in terms of the scale of technical challenges that very few other companies can match at the moment. For many career-focused individuals that is the only thing that matters.

</comment></comment></comment></comment></comment><comment><USER15> Lately I've been thinking that the phrase "your data" is a deceptive use of language. It encourages the fantasy that you have some kind of ownership over the data that your actions produce. And that you have some natural right to control how it is used.

The reality is that once data leaves your device, it's not yours anymore. It will almost certainly be used to track and manipulate you. If someone is talking about giving you control over "your data", it should be a signal that they intend to do the opposite. (like the OP).

Maybe we need to give up this fantasy of "your data" before we can embrace technologies such as ad-blocking, encryption, and frankly abstaining from using abusive software.

<comment><USER16> Digital rights holders very much hold tightly to the fiction of "your data", and use the teeth of the law to fight anyone claiming otherwise, or copying it in a manner they did not authorize.

(IANAL) At what point can we claim that Terms of Service statements are agreed to under duress, and regain rights to our data as the rightful copyright owner of such data?

</comment></comment><comment><USER17> This seems nearly useless. It doesn't remove the data when you clear it. It simply "disconnects it from your user ID". But we've seen before that the collected data has so much personally identifiable information in it, that the user ID isn't needed anyway. So in reality, this does nothing. And Facebook absolutely knows this.

<comment><USER18> Yeah, if the personal (or shadow) profile has a phone number, and the same phone number is in the tracked data, removing the personal profile's user ID seems a little beside the point.

</comment></comment><comment><USER19> So how will this work if I don't use a Facebook account?

<comment><USER20> That's my question as well, they aren't saying anything about shadow profiles. It seems like a ploy to get people to create accounts just to 'stop' tracking.

<comment><USER21> If you read the article linked in the comments, it looks like this works by creating a special tracking ID for each user that can be disconnected from the real UID, if the user chooses to.

So if you don't have FB, presumably you already don't have UID, so you're on equal footing with Facebook users that use this future. They are tracked, but tracking data is not connected to their UIDs.

<comment><USER22> If you don't have a facebook account, facebook likely has a shadow profile for you. Which would carry your phone number, full name, and whatever else they could extract from your friends' phonebooks and whatever other sources they use. There is no opting out of that, and there is no opting out of facebook getting third party data that lets them connect your shadow profile to a cookie, or to information collected by third parties.

<comment><USER5> Yeah, but it's not connected to your UID, so it's okay!

</comment></comment></comment></comment></comment><comment><USER23> In the video she said that the website sends data about you to Facebook. This is incorrect. Facebook is the one doing the collecting or the purchasing of your data from 3rd party collectors.

I try to post this on every Facebook related post: Leave Facebook. You'll thank yourself a year from now.

<comment><USER24> If you leave facebook you can't access the "clear history" feature, so they can track you and keep that information forever.

Facebook is a morally bankrupt company and the only real fix is to black hole their _many_ domains.

<comment><USER23> Yes of course. Blackholing is step 2.

</comment></comment></comment><comment><USER25> This is a good step but it'll probably be something that won't be pushed widely by Facebook themselves but pointed to by them to regulators, saying 'look, we do care!'

<comment><USER26> _This is a good step_

I disagree. It's a typical Facebook step.

Sneaky, shifty and weasely.

</comment></comment><comment><USER27> All I want is a clear answer from someone at facebook. Why can't I choose to delete data about me from your database? I don't even nec need to be able to see it or do it at a granular level, though that would be nice. All I want to be able to do is say delete this.

Can I delete a private message from your database?

Can I delete your record of a status I wrote from your database?

Can I delete access logs from a website that was using a FB pixel from your database?

</comment><comment><USER28> I'm glad Facebook chose the name that they did. Hopefully enough people will ask, " _why does Facebook care about my activity off Facebook?_ "

<comment><USER11> If you don't read it too closely, it sounds like an advert for the very concept of doing activities away from Facebook, which made me chuckle.

"Exciting features include: Cycling through woods! Reading a story in a book made of paper! Now _you_ can control what you see, do and think!"

</comment></comment><comment><USER29> I just recently stopped using Facebook, Instagram and Whatsapp. Taking everyone close to me to Signal.

</comment><comment><USER30> Facebook deleted a ton of the really valuable ad settings controls I used to prevent bad advertiser behavior somewhat recently. I'd rather have that ability to block advertisers uploading data I didn't give them than this feature.

And all they'd have to do is turn it back on.

</comment><comment><USER31> Wait how can I set my preferences for the activity they're tracking on me if I don't have an account?

I'm not under any illusions they're not trying to track me despite me not having an account with them.

<comment><USER32> We know that FB tracks us just as much as the people who have accounts. But we have less access and fewer rights.

<comment><USER26> Actually if you're in the EU you have more rights (but may have a hard time enforcing them).

Data collection, according to the GDPR, requires a reason. If I have a Facebook account you're in a relationshio with the company and so they can argue that you agree to providing your data (it's all there in the 12000, or so, "User Agreement".

If you do not use Facebook, Instagram or WhatsApp you are not in a business relationship with the company and they have no right to collect and store your data.

I have a feeling that there's a very nasty legal fight with the EU brewing here in a few years time.

</comment></comment></comment><comment><USER33> As a good practice, does the user have to go to this page and "clear history" everyday, akin to brushing one's teeth? Who'd even do that (not taking about brushing one's teeth)?

Why not make it like a permanent toggle that says "never associate off- Facebook activity with my account (to advertise to me and sell me stuff I don't need)"?

I don't see anyone being creeped out or annoyed by "backpack ads" (as seen in that dramatization video of this feature) and still being ok with seeing continuous creepy and annoying ads for shoes or something else later.

</comment><comment><USER34> "Disconnected".

Data Re-Identification:

[https://en.wikipedia.org/wiki/Data_re- identification](https://en.wikipedia.org/wiki/Data_re-identification)

</comment><comment><USER35> This sounds so similar to the engineering of the notifications UI they have done over the past few years. When they say they've "given users more control", yes, they've added toggles to that screen, but they've engineered the whole thing to take control away and force people into an all or nothing decision where Facebook has the ability to serve you a notification when they feel like you should be engaging.

</comment><comment><USER36> So I've all but given up on trusting these big corporations to delete all of my data when I turn off data collection/clear history.

However, I think these activity tools are extremely useful. They allow me to see all (or at least most) of what Facebook/Google has on me and it allows me to practice and implement strategies that prevent the corps from collecting the data in the first place.

</comment><comment><USER37> Honestly, it pisses me off that I even have to THINK about this.

</comment><comment><USER38> Translations from their FAQs:

> If I disconnect my activity, will I stop seeing ads?

No.

> Does disconnecting my activity mean that it's deleted?

No.

> Why am I seeing businesses I don't recognise?

Because they are creepier than you thought.

</comment><comment><USER39> Who is going to see this that isn't a nerd checking out places like HN like all of us? This doesn't seem like a real effort to aid user privacy, if it was it should be something that pops up in every facebook user's face, not an article you have to search for.

Facebooks attempts at making up for their mistakes almost always leave me feeling worse about the company

</comment><comment><USER40> For Android, privacytools.io advises Blokada. It is an app that runs a sort of local pihole which enables it to block trackers in any app, not just a web browser. I don't have an android phone myself, but I was very impressed when I tried it out on someone else's.

Is there a similar for iOS that anyone is aware of?

<comment><USER41> DNSCloak ([https://apps.apple.com/us/app/dnscloak-secure-dns- client/id1...](https://apps.apple.com/us/app/dnscloak-secure-dns- client/id1452162351)) seems to do the job.

<comment><USER40> Thanks! I have been trying it out and it seems to work well.

</comment></comment></comment><comment><USER42> Here is a dirty GDPR secret: HDFS is an append-only filesystem. It's way too hard to delete things in big data projects, so they get disconnected instead.

</comment><comment><USER43> >If you'd like, you can disconnect that information from your account, and it will not be associated with you personally. Specifically no mention that they will delete the data, helpfully combined with no mention that it's trivial to deanonymise such data.

TL;DR: This is a bullshit PR piece to assuage worries that Facebook data- mining the internet. They still are. Move along.

</comment><comment><USER44> Facebook just happens to get sent data... yeah, more like Facebook buys data. And invests heavily in tools to make it easier for its customers to send Facebook data.

</comment><comment><USER45> > If you'd like, you can disconnect that information from your account, and it > will not be associated with you personally.

"But we still keep it and the entire unique fingerprint"

</comment><comment><USER46> Social media has became incredibly complex. Facebook now has a mini-site to explain the purpose of a single button.

</comment><comment><USER47> What will happen to people who are already opted out of ads based on data from facebook business partners.

</comment><comment><USER24> Please create a facebook account so we can track you^h^h^h^h^h^h^h^h^h^h help "you" can "control" how we make ads from our abuse of your privacy _.

_ We aren't going to stop tracking you, and "bugs" and "inadvertent" changes may "accidentally" reset your settings.

</comment><comment><USER48> Firefox, firefox, firefox!

((facebook containers -> it looks after you))

ironically, posted with Chrome

</comment><comment><USER49> as a non-FB user, do these browser settings keep FB from tracking me?

block all 3rd party cookies, block all trackers, clear cookies on exit, uBlock Origin extension,

and blocking FB related sites in /etc/hosts file

<comment><USER50> It's hard to know for sure, and I think you're doing most of what you could do. More layers would be using TOR browser, noscript, and using a VPN for Al connections on your phone and other devices.

</comment></comment><comment><USER51> How does this work in terms of GDPR? If it's only rolled out in a few countries, surely this is Facebook admitting they collect this data but we have no way to access it right now?

Shouldn't this incur a rather heavy fine?

</comment><comment><USER52> Does this block react CDN hits?

</comment><comment><USER53> So creepy.

</comment><comment><USER54> Hey Guys,

We here at Facebook realized you don't trust our apps, so we made another app that makes you think our apps are safe. Despite this just being another app within our portfolio of tracking tools. Please download and install, otherwise the other apps may not work eventually. Trust us. ಠ_ಠ

<comment><USER55> And just look at that lovely, friendly new shade of blue! There's no way a company using that color can mean any harm!

<comment><USER2> And such an open and trustworthy font. No one using a typeface like that can be shady, surely?

</comment></comment></comment><comment><USER56> Why do people keep using facebook? I don't want to see this shit anymore.

<comment><USER57> It's for kids to share memes under fake profiles and boomers to share fake news under real profiles.

A hard cut from facebook is surprisingly easy. The biggest challenge is getting over the mentality of fear that it will somehow be challenging.

<comment><USER58> It's to keep a loose connection with distant people and organize private events and find out about non-personal events and happenings.

Just because the people you added on facebook filled it with bullshit, doesn't mean it's like that for everyone.

I'd love to get away from them, but I have yet to find a workable alternative.

<comment><USER57> My connections I cared about simply switched to other forms of communication. Private events, I still find out about. People care about others attending their events (quelle surprise). I just now keep in touch with others in a more personal way instead.

"Non-personal events and happenings" are something whose value is worth thinking about. They were one of those things I'm very happy to have optimized away. If it's important, I'll find out about it. Rephrased, I will not make it my responsibility to find out about something you yourself didn't find important enough to tell me about. Reacting to a post is neither taking part in the event nor engaging with the people involved in it. It's this artificial, vicarious interaction that people convince themselves is a valuable addition to their life when in reality it's a fleeting sentence on an infinitely scrolling newsfeed. It replaced the tv show we'd have on in the background but never quite watch. Something mindless yet just engaging enough to take our focus away from doing absolutely nothing at all.

I used to spend my time on facebook finding out about these "non-personal events and happenings", like my cousin's husband's sister's graduation that I never would have attended or been invited to anyway, my aunt's trip to the beach, and some anniversary party a friend and her partner had. Was any of that important? The only difference between being on facebook and being off facebook, is that the former is full of one-way communication where I show minimal engagement with 90% of people's statuses, while the other is a two-way communication where I personally socialize with the 50% of those people who added value to my life. Magically, almost as if humans have evolved to be able to communicate in more ways than one with no effort, I still find out about the significant events.

In my newly-found free time I've become a board member of a large local non- profit, met more of my neighbors and a large chunk of my local government officials, and found time to regularly exercise hard and explore the outdoors.

<comment><USER59> I don't understand where this Facebook takes up a lot of one's time is coming from. You can always minimize it further. Nowadays, it just takes about 2-10 minutes of my lunchtime. I log in, skim the notifications for events and invitations, and that's it for the day. I don't check a post unless someone in real life tells me about it. While reacting to a post might not seem engaging, I'd say leaving a comment to a friend is. The only feature that kills my time is messenger, but that's because it's pretty much the de facto platform for communication in my country. Apps like telegram, wechat, and whatsapp aren't popular here since they ask for your phone number. The traditional phone call and text are expensive, especially when you're travelling internationally. It also becomes a problem when your contact switches their number. Messenger is free, can be used without the phone, no collecting of phone numbers required - just an easy friend request, and you don't have to worry about spam from people you don't know.

<comment><USER58> I said it before on HN and it's still my impression. Those who say loudly how liberating it is to be off facebook always seem to have had an addiction of some level or another.

Personally the most I read on FB is when I'm on the loo and already checked HackerNews ;)

</comment></comment></comment></comment></comment></comment><comment><USER60> Facebook can receive whatever they deserve, but let's clap our hands on their development team. React is what currently puts bread on my table and it seems like it will do so for a long time. I can't think of a single big win from a social network in spending their money for R&D than FB ( look at LinkedIn for example ).

<comment><USER48> Kafka?

<comment><USER60> Good point! :) Thanks for sharing that.

> Apache Kafka is an open-source stream-processing software platform developed > by LinkedIn and donated to the Apache Software Foundation, written in Scala > and Java. [1]

1: [https://en.wikipedia.org/wiki/Apache_Kafka](https://en.wikipedia.org/wiki/Apache_Kafka)</comment></comment></comment>


Celery guys, please fix your documents - <AUTHOR>

Guys I dont have a blog but I must say this words, please dont blame me, I think someone will think exactly like me someday<p>As a non-native speaker of English, sometimes I do have trouble with documentations, but read them again and again, until I feel comfortable which can take me 2-3x more effort than native speakers. Recently, I got my hands dirty on celery. Celery is great, first steps is fine for very basic task management. But it sucks when it comes to Django. Hey Celery guys, as a beginner I have totally suck my brain when I read django first steps. Lets start from the beginning,
1) "If you have a modern Django project layout like: ", hey guys when you type django-admin.py startproject it doesnt create structure you mentioned. 2) app.config_from_object('django.conf:settings') , why the hell I need this, if you didn't mention what should be inside django.conf.settings yet. 3) celery.py: from __future__ import absolute_import. first we import absolute imports from the future, so that our celery.py module will not clash with the library. Hey guys please rename your celery.py instead of making ambiguous file names and fixing it with kind of "patch". You are explaining celery to the world where 4/5 is not native speaker or has basic level of language. 4) Using the Django ORM/Cache as a result backend. Maybe you will teach me how to use django orm as a broker first? instead of saving results but requiring 3rd party for message transportation. 5) pip install django-celery. so what about: Django is supported out of the box now so this document only contains a basic way to integrate Celery and Django. so do we need 3rd party or will you support it out of box? And so on..... <comment><USER2> Thanks for the comments! Feedback on documentation is always welcome as it's hard to step inside the state of someone starting to use the project. I wish people would speak out more as I'm sure there are many more issues with the docs. The best way to get this solved is to open an issue at [http://github.com/celery/celery/issues](http://github.com/celery/celery/issues), you can even make suggestions.

1) How does it differ from startproject? 2) That's how you tell Celery to use your Django project settings as a source of configuration. Did you read the 'First steps with Celery' guide first? 3) The old Python import behavior is very limiting, and starting from Python 3 absolute import is the default. We believe everyone should start using it by importing it in all modules, but you don't have to if you don't want to, just give it another name. 4) The Django result backend is a stable component, the Django ORM message transport is not, so we won't tell you how to use it in the introduction because we don't want you to. You can find the instructions here: [http://docs.celeryproject.org/en/latest/getting- started/brok...](http://docs.celeryproject.org/en/latest/getting- started/brokers/django.html) 5) Everything is supported out of the box except for storing results using the Django ORM (there's built-in sqlalchemy result backend that can also be used, but it's not compatible with the Django backend as the data is stored in a slightly different way: [https://github.com/celery/celery/issues/183](https://github.com/celery/celery/issues/183))

</comment><comment><USER3> Did you try contacting the author/maintainer directly? I don't know why people like to make a public issue before actually trying to talk to the person responsible first.</comment>


Psd.rb - <AUTHOR> http://layervault.tumblr.com/post/56891876898/psd-rb

<comment><USER2> This programmer has written about the PSD format in colorful detail: "Trying to get data out of a PSD file is like trying to find something in the attic of your eccentric old uncle who died in a freak freshwater shark attack on his 58th birthday."

[https://code.google.com/p/xee/source/browse/XeePhotoshopLoad...](https://code.google.com/p/xee/source/browse/XeePhotoshopLoader.m#108)

(ref: first link in the article)

<comment><USER3> I think that comment itself was posted on HN or somewhere -- I know I've seen it before.

<comment><USER4> It was a front-page story on HN, but four years ago: [https://news.ycombinator.com/item?id=575122](https://news.ycombinator.com/item?id=575122)

<comment><USER5> Thanks for the link. I still remember that thread and the original post. It was indeed awesome.

</comment></comment></comment></comment><comment><USER6> >Adobe has never produced an easy way for developers to work with the format.

That's not entirely fair. Adobe has openly released a comprehensive description of the format which is, as far as I know, accurate. The problem is that the format itself is a heap of features piled on year after year with apparently no regard for doing things consistently.

<comment><USER7> The file spec released by Adobe ([http://www.adobe.com/devnet- apps/photoshop/fileformatashtml/](http://www.adobe.com/devnet- apps/photoshop/fileformatashtml/)) is actually outdated, wrong in some places, and can be incredibly vague at times.

<comment><USER8> A bit off-topic, but is there a spec for Illustrator files? It seems the only one I see on Google is from an old version of AI...

<comment><USER9> As noted, newer illustrator files are just PDF's (perhaps with extra data for editing).

Older illustrator files are in fact, EPS files. This is somewhat tricky since, an EPS is not actually so much a data format as it is a turing complete programming language. Sooo... yeah, who knows what black magic they did to pull off reliably reading and writing it.

<comment><USER10> You can read an EPS file by interpreting it and remembering the shapes it renders on the page.

You can write an EPS file by emitting your list of shapes without using the turing-complete features of the language.

Not that hard, at least conceptually.

<comment><USER9> That's all fine and good at least up until you have to kern a line of text. Then what?

</comment></comment></comment></comment></comment></comment><comment><USER11> Wow, fantastic work and a lot of respect for open sourcing this lib when it's clearly an important part of LayerVault.

</comment><comment><USER12> Does anyone else think it's weird that they decided to make this library in Ruby? It drastically cuts down on the audience. Why not C/C++ with wrappers for all the dynamic languages?

EDIT: nevermind, it makes sense now that I see their main product is a version control system for designers. Still, it would be nice to see this ported to native code some day.

<comment><USER13> Most of the work is done, get off your ass and start porting.

<comment><USER12> I might just accept that challenge!

</comment></comment></comment><comment><USER14> I just wrote a script with this that takes a directory of PSDs and outputs PNGs for each one. It took about 2 minutes. This is great.

<comment><USER15> Wow, everything old, is new again ;)

I think with an actual copy of Photoshop, and a little Applescript, this is something you could have done > 15 years ago.

<comment><USER16> But this way I don't have to keep paying $20/mo to Adobe CC so that I can run the script again next month.

<comment><USER17> I _suspect_ that you could probably also manage it with GIMP/guile, but I don't suspect it would be particularly pleasant.

<comment><USER4> If you want to script it, ImageMagick or GraphicsMagick are probably a better bet than trying to hack up something with GIMP batch processing: [http://www.imagemagick.com/www/formats.html](http://www.imagemagick.com/www/formats.html)

If you just want to do basic conversion ignoring layers, it's quite easy:

       for f in *.psd; do
         convert "$f" "${f%%.psd}.png"
       done

<comment><USER18> You can use find/xargs for this. It'll be faster because you can parallelize it with the -P option, for example, for a 4-core machine:

        find . -iname "*.psd" -print0 | xargs -0 -P 4 -n 1 -I I convert I I.png

For best results, change the number "4" in the above command to the number of cores you have.

<comment><USER19> The same with GNU Parallel, only it picks the right number of cores automatically and removes .psd from the file name:

      find . -iname "*.psd" -print0 | parallel -0 convert '{}' '{.}.png'

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Is this more feature complete (esp. regarding to newer PS versions) than e.g. libpsd?

[http://sourceforge.net/projects/libpsd/](http://sourceforge.net/projects/libpsd/)

<comment><USER7> libpsd and PSD.rb both have features that the other doesn't have. For example, PSD.rb parses text/font data, while libpsd can handle images with zip compression.

libpsd was actually a great reference in building PSD.rb, especially since it was correct during the times that the actual file spec was wrong and more explicit in the type of data being read.

</comment></comment><comment><USER21> Idea: Use this to dynamically "compile" photoshop files into png, jpgs, etc on the rails assets pipeline.

</comment><comment><USER22> Thank you very much for doing this! I wish all people hacking the PSD format would join forces and help with one project. There are too many partial implementations which scratch an itch instead of trying to be a full implementation.

<comment><USER23> I get this feeling with many open source projects, but merges happen much less often than forks.

</comment></comment><comment><USER3> Does anyone know of a similar tool for Python?

Not trying to start a Ruby/Python fight or anything; Python just happens to be my preferred language.

<comment><USER24> A shameless plug: you can give [https://github.com/kmike/psd- tools](https://github.com/kmike/psd-tools) a try.

I've read PSD.rb docs and a bit of its code; the implementation is one of the best and complete I've seen (I've checked almost all PSD reader implementations some time ago).

But it seems that psd-tools is mostly on par with PSD.rb. It also have some features that PSD.rb doesn't have, e.g. full support for 'zip-with-prediction' compression, including 32bit layers. Such images are very common in practice, and parsing them is not easy because the compression format is not documented anywhere, and "zip-with-prediction" for 8 and 16bit layers is totally different from "zip-with-prediction" for 32bit layers (for 32bits it is really tricky).

If PSD.rb authors are reading this, I urge them to check the decompression code in psd-tools ([https://github.com/kmike/psd- tools/blob/master/src/psd_tools...](https://github.com/kmike/psd- tools/blob/master/src/psd_tools/compression.py)) or in Paint.NET PSD plugin ([http://psdplugin.codeplex.com/](http://psdplugin.codeplex.com/)) to not waste the time.

psd-tools also knows how to export individual layers, and there is an experimental support for exporting layer groups; it seems that this is not implemented in PSD.rb yet.

PSD.rb has some features that psd-tools doesn't have, e.g. it parses "Font data" which is really cool and hard because the format is not described anywhere.

<comment><USER22> I checked out psd-tools and it's good. Any chance of you adding their features to yours or vice versa? I know I know, I should do it myself and do a pull request, but just asking if you are planning to?

<comment><USER24> Unfortunately I'm currently very busy with other projects, so I probably won't implement PSD.rb features myself anytime soon.

I'm trying to provide feedback for psd-tools pull requests, merge them and release new psd-tools versions in timely manner; the testing suite also helps here, so you know, pull requests are welcome :) Most improvements over last 6 months came from pull requests submitted by other great people.

I think that the "reader" part of library is feature-complete. psd-tools reads all the information, but it doesn't decode all Photoshop data structures (some of them are available only as binary blobs). So I think implementing a PSD.rb feature will most likely involve checking PSD.rb code and decoding a binary blob (already loaded to memory) to a Python data structure.

<comment><USER22> I didn't check your codebase (I just used the library for a few projects a while ago), so you don't have to answer. But if you want to enlighten others as well as me; am I right in thinking that you have a reader while reads the file and then have a 'decoding module' for every blob. So it would be rather straight forward to port from Ruby such a decoding part and plug it into your library?

<comment><USER24> Yes, that was the idea.

The whole process is divided into 3 stages: reading, decoding and providing "user-facing API":

\- on "reading" stage PSD file is read and split into binary blobs (I think this part is done);

\- on "decoding" stage "decoding modules" are called for each binary blob; decoding modules should produce Python data structures that closely resembles internal PSD format;

\- on "user API" stage decoded data is converted to more convenient format that is easier to work with (e.g. this include building layers hierarchy, and the PSDImage/Layer/etc classes).

I hope that providing new decoders will be rather straightforward, and it seems to work this way so far: contributors haven't touched "reader" part, and I haven't touched it for a while as well. But software development is hard, so we can never be sure :)

</comment></comment></comment></comment></comment></comment><comment><USER25> Great work and thanks for building this. There's a lot of room for improvement in automating manipulative photoshop exports, and I look forward to seeing what people do with this, especially in terms of building command line tools.

</comment><comment><USER26> I have been trying to do this from last 3 months. But I intend to make modifications to layers (turn on or off, change colors) and export to PNG. When I saw Psd.rb I thought it is done. But it just exports the channel data saved by Photoshop. So our modifications wont reflect in it.

<comment><USER27> Use extendscript or the creative suite extension builder SDK.

<comment><USER26> Unfortunately I want it to run on a Linux server and I don't want any UI as it needs to be a service.

</comment></comment></comment><comment><USER28> I reckon a good tool (that this psd.rd wouldn't actually help write, but), would be one that rendered an html/css page - and exported a layered PSD, so you could prototype an app, render it to .psd and send it to your designer friend to make it look rad.

</comment><comment><USER29> Thank you! There's quite a ton I can do to this. Will definitely be contributing soon.

</comment><comment><USER30> This is a great example of why open source is brilliant. Everybody wins. We get a PSD parser. LayerVault benefits from the world improving they're core product too.

</comment><comment><USER31> I feel like this could be used to automatically convert a simple .psd web layout to non-shitty HTML and CSS.

<comment><USER32> Look up markupwand.com an YC alumni. The problem is harder than it looks. Now, I am not an expert in PSD format but a PSD that can be automatically converted to HTML has to be specifically formatted. For example, if you merge text layers with image layers, it becomes difficult to extract the information.

<comment><USER33> We've actually solved this and will be launching in about a week. We've been working on it for over a year now.

It runs inside Photoshop (there is no upload stage nor do you have to open up separate software) and it generates HTML and CSS that looks like a designer wrote it and slices up all your images. It also outputs LESS, SASS, HAML, Slim, Jade and I think there are some other formats I may be forgetting.

Text is output as text. If you use a Google font, it automatically links the fonts in for you.

It does not use absolute positioning so if you modify things like text and it grows taller or shrinks shorter, other items will be positioned properly (initially we did it with absolute positioning but later I figured out an algorithm to make it work the way it should, even with overlapping elements).

It's definitely not an easy problem to solve (hence why we've been working on it for over a year although not full time).

We've done some outputs now and the results are amazing.

I would link you to the website but it looks so bad right now that I don't want to show it. Anyways, we will launch in about a week so look for an announcement. If you have any questions about it, please leave a comment.

Sunny

<comment><USER22> There are a bunch of those tools which run inside PS, but the point is that I really don't want to run PS. Ever. My designers do and now I have to pay / upgrade licenses too because there is no solution. I think PS is overused and abused for anything 'design' while for programmers it's an annoyance more often than not.

</comment></comment></comment></comment><comment><USER34> So, will there be writing .PSD files as well? This would be the über thing. Imagine: upload a .PSD and get back a clean HTML layout + bootstrap_overrides.css

<comment><USER6> >So, will there be writing .PSD files as well?

Writing PSD files is considerably easier than reading them. To write, you need only support the features you actually use. To read, you must support everything. For example, Photoshop always saves its layers RLE compressed (or it did when I last wrote code to write PSD files, which was about five years ago), but the format supports uncompressed layer data just fine. So if you're just trying to get basic interoperation with Photoshop, you don't have to worry about RLE at all.

>Imagine: upload a .PSD and get back a clean HTML layout + bootstrap_overrides.css

Why would that require writing .PSD files?

<comment><USER34> Well, so you could iterate on your design - and pick up the changes made in CSS back into the design PSD. And work onwards from there

</comment></comment></comment><comment><USER35> These are great news for developers and an easy way to communicate between designers with developers. Is the beginning of a solution for a big problem.

</comment><comment><USER36> I'd pay for a Lua port of this. Anyone interested? Drop me a PM.

</comment><comment><USER37> Truly awesome, cant wait to think of the possibilities with this.

</comment><comment><USER38> nice. now if someone can port it to C so that everyone can benefit... :)

</comment><comment><USER39> awesome!

</comment><comment><USER40> // PSD is not my favourite file format.

I see bro...</comment>


Top carnivores increase their kill rates as a response to human-induced fear - <AUTHOR> http://rspb.royalsocietypublishing.org/content/282/1802/20142711 <comment><USER2> Human-induced stress makes me eat more too :/

<comment><USER3> Pretty clever comment, made me think if this is the exact same thing as human stress eating.

<comment><USER4> It's preparing your body, energy requirements wise, for potential future danger. Even noise, anything 30 Dbs or above, causes a stress response in the body and will lead to a cascade of issues.

</comment></comment></comment><comment><USER5> Damages of spanish wolves on livestock increased also after the social disintegration of the packs by unnecessary and random cullings by local government. Isolated wolves are unable to chase the wildboards or deers targeted by the packs so they started to target more and more sheeps and cows instead.

Ironically cullings where first aimed at stopping the "unsufferable increasing in the number of wolf damages" claimed by stockbreeders. The obtained was just the opposite. More damages by wolves and also by dogs.

Researchers showed later that in a lot of cases shepherd dogs, or just the harsh wheather where the real culprits, but, as the death by wolves where assisted by government and the death by a common disease or a blizzard where of course not paid, all deaths were charged to the scavenging wolves and paid by government.

</comment><comment><USER6> A case of broken mobile redirect. Here is the working link:

[http://m.rspb.royalsocietypublishing.org/content/282/1802/20...](http://m.rspb.royalsocietypublishing.org/content/282/1802/20142711)

</comment><comment><USER7> tldr: Pumas that are scared off their food by humans are still hungry and go and kill another deer, which might not be so good for the pumas and might help scavengers. Isn't this somewhat obvious?

<comment><USER8> It is something that needs saying and probably repeating at frequent intervals too as it raises the issue of whether there should be no-go areas for humans. This in turn might be problematic in areas where the economic value of large carnivores is defined by the truckloads of tourists chasing them.

<comment><USER9> It's not so much human presence as intense development that affects wildlife. Backcountry hikers, hunters, fishermen, and campers have limited impact on predator and prey symbiosis. If anything the large predators will view you as prey. I've been circled by coyotes, wolves and black bears while doing these things. As have most people who partake in these activities. The only ones that worry me are bears. Unpredictable buggers they are.

The truly destructive thing is roads and habitat pressure due to proximity of urban environments (noise, smells, food sources) that alter daily pattern. Large prey (deer, etc...) are creatures of habit driven by day/night patterns, wind, and their belief that everyone is out to get them. Seems to me They would be much more likely to alter their routine due to human pressure but the paper doesn't speak to that (if it does I missed it). And where the food goes, the predators go.

This is just my experience gained from being an avid outdoorsman for many years.

</comment></comment></comment><comment><USER10> Link has an extra space or %20 appended to it, can anybody fix that?

<comment><USER11> Fixed.

</comment></comment><comment><USER12> It's all our fault.

<comment><USER13> who can I pay to fix it ???</comment></comment>


Ask HN: The Right Now Company vs The Innovative Future - <AUTHOR>

I am sometimes told by successful entrepreneurs that to be super successful, you need to have a vision for the future, and to spend your time morphing the current world into that vision, small steps at a time.
But then I see a lot of successful startups that seem to just build things that somebody has a need to pay for to solve some problem today. The company does not at least appear to be born out of some great vision to change the world.
An immediate example of this is twitter vs (most) applications built on top of twitter.
What are your thoughts on this? <comment><USER2> I don't think these things are mutually exclusive.

Twitter didn't really know what problem they were solving. They may be a bit of a special case. But they built something they felt was usable and launched it.

If you look at the Twitter launch at SXSW it was all about where people were going and how the band was. It fit very well into that model.

At the time, twitter didn't have search, they didn't even build their own search, somebody else did (summize) and Twitter bought them. They didn't know about trending, they didn't know that business would make up the bulk of their publishers (my suspicion, correct me if I'm wrong). They didn't know that the majority of their revenue would come from selling access to the firehose of real-time data.

So, you have to build for the now, and you have to respond to the future.

Facebook wouldn't be what it is today if they had just built for their 'now' which was initially putting the college facebook online. They did that, and kept iterating for the future.</comment>


Quora and a bad user experience - <AUTHOR> http://www.jillesvangurp.com/2012/09/12/quora-and-a-bad-user-experience/

<comment><USER2> I could pretty much sign under this post as well. Never understood why people even bother with quora, since StackOverflow&co. is free and far more easier to get going.</comment>


Could the Earth be an evaporated gas giant planet? - <AUTHOR> https://demystifyingscience.com/blog/is-earth-captured-rogue-chthonian <comment><USER2> "It is not apparent yet that such Rogue planets are regularly traded between star-systems and subsequently participate in serial evaporative events and the proposal may seem like a long shot, but on astronomical time scales the unlikely can become commonplace."

It sounds a bit Velikofskian.

<comment><AUTHOR> Yes, Michael Lund of CalTech updated the Velikofskian hypothesis: [https://arxiv.org/pdf/1903.12437.pdf](https://arxiv.org/pdf/1903.12437.pdf)

<comment><USER3> The fact that this paper appeared in April 2019 in a journal called "Acta Prima Aprilia" should give you a clue to how seriously to take it.

<comment><USER4> The fact that the paper uses "CalTech" was the big clue for me. Also check out the references at the end. Some big clues there too.

<comment><USER5> Some really raging clues there: [https://www.youtube.com/watch?v=lcHy8xEt2QI](https://www.youtube.com/watch?v=lcHy8xEt2QI)

<comment><USER6> That video cuts off the best part, where he says "Godspeed".

</comment></comment></comment></comment></comment></comment><comment><USER7> "The Chthonian process effectively selects for retainment of water and carbon dioxide, which are heavy and tend to rain back down upon condensing in the upper atmosphere."

So earthlike planets would be more plentiful than otherwise. This could be a boon to scifi plots that entail conveniently breathable atmospheres. It would also tend to support the strong anthropic principle.

<comment><USER8> > _This could be a boon to scifi plots_

But can they outgrow the trope of every alien being a human-in-a-mask?

<comment><USER9> Not until CGI aliens with non-humanoid body plans become cheaper than masks on human actors.

<comment><USER10> It's the relatability to the audience that mandates they have human faces. ... because humans can only interpret the facial expressions and emotions of other human faces.

Star Trek was never meant to be Sci-fi so much as soap opera in space.

<comment><USER9> Farscape did pretty well with having relatable characters played by puppets.

<comment><USER11> I'd agree, but the faces of all the regular characters were very human-esque. Even Pilot's face was puppetted to react vaguely human.

<comment><USER9> Still a very big departure from humans with masks.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> How can a captured planet ever maintain a stable, almost perfectly circular orbit around the Sun, at a plane that almost exactly matches the rest of the planets? It's impossible. The only way this can be explained is if all the planets were created together at the same time.

<comment><USER13> This argument seals the deal. The probability of getting that _just right_ is vanishingly small.

</comment></comment><comment><USER14> AFAIK Nitrogen in the initial atmosphere rules this out.

<comment><USER2> Is there a succinct explanation of why some terrestial bodies in the solar system (Earth, Titan, Triton, Pluto) have mostly nitrogen atmospheres, but others (Mars, Venus) are mostly carbon dioxide instead?

I mean, aside from specifics about each, what's the pattern that you would apply to an arbitrary planet?

<comment><USER15> According to wikipedia, Venus' atmosphere is about 3.5% nitrogen and its pressure is about 91 atmospheres. So, technically Venus doesn't have a lack of nitrogen (it appears to have about 3 times as much as Earth), it has an extreme abundance of carbon dioxide.

Something interesting I didn't know is that apparently Venus has almost no plain oxygen.

Mars, on the other hand, doesn't have much nitrogen. Perhaps that's attributable to the relative lightness of N2, which would be more prone to float off into space than the somewhat heavier CO2.

<comment><USER16> Earth atmosphere is 0.04% CO2. Why does Earth have such little CO2? Is maybe used by life on early Earth?

<comment><USER17> Yes. Earth used to have a lot more CO2. Then photosynthesis in the oceans created an oxygen crisis.

<comment><USER18> "The cyanobacteria producing the oxygen caused the event which enabled the subsequent development of multicellular forms." Seems like it was ultimately a win.

</comment></comment></comment></comment></comment></comment><comment><USER19> Embedded link is very intersting [https://wfirst.gsfc.nasa.gov/exoplanets_microlensing.html](https://wfirst.gsfc.nasa.gov/exoplanets_microlensing.html)

</comment><comment><USER20> A planet formed in another star system would very likely have very different isotope ratios than one formed here. Earth has very similar isotope ratios for most elements to meteorites.

</comment><comment><USER21> How do planets migrate?

<comment><USER22> Through the atoms of progenitor stars long since gone supernova. Probably neutron stars too!

Or also by chance?

<comment><USER21> I know tidal curves have increase the moons orbit, I'm struggling to think of anything (outside massive collisions) that would cause planets to move closer to their stars, or move to new ones.

<comment><USER23> Orbits can be quite unstable, for example read (one theory) or the early dynamics of the solar system: [https://en.wikipedia.org/wiki/Nice_model](https://en.wikipedia.org/wiki/Nice_model)

</comment></comment></comment></comment><comment><USER24> No.

At least, that was my _knee-jerk_ thought, according to _Betteridge 's law of headlines_. After reading through it, I do find it an intriguing hypothesis.

</comment><comment><USER25> NO. If solar wind caused a gas layer to evaporate, Earth shouldn't have the atmosphere it does. This planet should be like those surrounding it. Those same solar winds/radiation would have made sure of that. The issue I have with this is the same issue I have with evolution. If conditions were not created to favor life why are we the only planet with any known life & which is perfectly suited to a variety of life? Do you really think that's a coincidence? Scientists are constantly coming up with one ridiculous theory after another to explain why no evidence of life has been found outside our planet instead of just acknowledging that this planet is unique because it was designed that way.

<comment><USER26> Huh? No scientist claims to have ultimate knowledge of why there is life on earth. But to claim that Earth was created for life is leap too far. I mean we used to believe storms where conjured up by the gods because we didn't understand how they really are created. What you are saying is essentially the same. We don't know so it must have been created. You are essentially invoking the God-of-the-gaps fallacy.

<comment> grayed-down Maybe not created, but...tweaked?</comment></comment></comment>


Github PR bookmarklet for teams - <AUTHOR> http://nerds.airbnb.com/github-pull-request-bookmarklet/

<comment><USER2> Nifty! I'll have to try this out.</comment>


Show HN: Birdly.co – Create a poster out of your tweets and avatar - <AUTHOR> https://www.birdly.co/

<comment><AUTHOR> Hey guys, would appreciated any feedback.</comment>


A database of tech conferences to know what to attend to next - <AUTHOR> http://dev.events <comment><USER2> I assume most of these conferences will be canceled till the coronavirus is "tamed" or we accept it as the new normal.

<comment><AUTHOR> Yeah, that'a good point. Meanwhile, there is a list of online events: [https://dev.events/OU](https://dev.events/OU)

Hope more will be added soon.</comment></comment>