The Hitchhiker's Guide to Python - <AUTHOR> http://docs.python-guide.org

<comment><USER2> Useful, however there's a serious element lacking: "Don't Panic" in large, friendly letters ;)

<comment><USER3> The project is open and I feel confident they'd take a merge/pull request for that.. :-) (I know that Kenneth usually has humor and the spirit goes along well with your suggestion. ;-) ). Feel free to swing by [https://github.com/kennethreitz/python- guide](https://github.com/kennethreitz/python-guide) and have a look in any case.

</comment></comment><comment><USER4> From the "choosing an interpreter" section:

 _> Also use Python 2.7.x if you're starting to work on a new Python module._

Is this a generally accepted guideline? I'd have thought Python 3 would have caught on by now.

<comment><USER5> The other bizarre to me part is how Python 2 is called "Today" and Python 3 "The future". Shouldn't they be "Yesterday" and "Today" respectively? Or maybe "The snakes of yesteryear" and "The contemporary Monty".

<comment><USER6> Most of the guide was written two years ago: [https://github.com/kennethreitz/python- guide](https://github.com/kennethreitz/python-guide)

</comment></comment></comment><comment><USER7> Always good to see this on the front page, and as a side note Kenneth is quite possibly one of the best OSS maintainers I've ever encountered. I made a tiny, pedantic edit a year or so ago and he treated my pull request like it was an entirely new chapter plumbing the depths of the GCC.

</comment><comment><USER8> Nice! I remember when this was posted about a year ago and it's nice to see it's been steadily maintained since then. Great list of tools, etc. that are a must know for python users.

</comment><comment><USER9> Is there a .pdf, .mobi or .epub anywhere? Reading this online might not make economic sense.

<comment><USER9> Spoke too soon. Here's the link to the pdf [https://media.readthedocs.org/pdf/python- guide/latest/python...](https://media.readthedocs.org/pdf/python- guide/latest/python-guide.pdf)</comment></comment>


Facebook's new front-end server design - <AUTHOR> https://code.facebook.com/posts/1711485769063510/facebook-s-new-front-end-server-design-delivers-on-performance-without-sucking-up-power/ <comment><USER2> TL;DR - FB historically has always used a dual-socket setting up. They started noticing the trend in Intel chips to be only getting marginally faster yet using vastly more power. They needed to change this curve. So 3 years ago they starting working directly with Intel. The result was the Xeon-D chip. FB current setup is a single socket Xeon-D which is faster than the old dual socket setup and uses 1/2 the power.

<comment><USER3> Thank you for your service! I would pay for a TLDRAAS.

<comment><USER4> [http://smmry.com/](http://smmry.com/) produces:

We have been using traditional two-socket servers for more than five server generations now at Facebook.

Because our web servers are heavily compute-bound and don't require much memory capacity, the two-socket servers we had in production had several limitations.

Mono Lake is the server embodiment of Xeon-D and the building block for our SOC-based server designs.

<comment><USER5> PyTeaser, is that you?

</comment></comment></comment></comment><comment><USER6> Isn't ironic that all this great engineering advances (they're influencing Intel) are all based on running more efficiently the much hated PHP?

In the future, maybe the first step to make a highly scalable green web-based startup is to choose PHP to write your code. ;)

<comment><USER7> Well... they wrote their own PHP-to-C++ compiler (which is both insane and incredibly impressive), then their own PHP tracing JIT compiler, and their own PHP type checker....

At what point does it become their own language?

Also a good amount of their backend services use better languages like Haskell, D, Erlang, and whatever else they need.

<comment><USER8> There's a reason the combination of type checking, proper containers and generics, inline XML, and asynchronous processing is all called Hack, and the runtime is called HHVM. At this point, new code using all these features only vaguely resembles PHP, but it's far more robust and maintainable, and vastly more performant.

</comment></comment></comment><comment><USER9> Is there any potential for Facebook to get into the cloud services market? It seems like Facebook has the experience for high-performance, reliable cloud platform. Using something like Kubernetes could make it easy for customers to try out FB.

<comment><USER10> There is definitely potential but they don't want to make money that way. So, don't expect it. Source: I was driving this internally for a while.

<comment><USER11> I'd rather like to see a FB free and especially free of ads, financed by selling cloud hardware/software.

<comment><USER12> They just closed $18B in revenue in the past fiscal year. Even if they successfully began selling hardware and were making twice that, they'd be idiots to give up that huge, huge income stream. Their investors would kill them, and for good reason.

</comment></comment></comment></comment><comment><USER13> Interesting that they worked directly with Intel on this. I wonder if the cost savings from a power perspective were worth all this engineering effort? It's impressive in its own right to go to the lengths of customizing the hardware in such a way, but I'm not sold on the business case.

It seems like you'd get a lot more for your money just by finding cheaper sources of energy (or building your data centers near a cheap, renewable source) and using commodity low power chips that have already been proven to work well for server work loads.

<comment><USER14> Facebook is already using the cheapest energy they can find. If Facebook is buying, say, $20M worth of Intel processors per year then you can imagine how it's possible to get ROI on a few million worth of engineering effort.

</comment></comment><comment><USER15> Amazing to think you can have problems of scale that can only be fixed by building a better CPU. But at FB scale everything is a bottleneck including power. I think it would be fun to think about ways to fix problems of this magnitude with virtually unlimited budgets. Of course having too much money can also be a bottleneck and allow you to come with too many wrong answers as well.

</comment><comment><USER16> The next step in saving power would be adding 32GB of HBM2 on package.

</comment><comment><USER17> getting a 500 with the given link: [https://i.imgur.com/w8cPBa2.png](https://i.imgur.com/w8cPBa2.png)

</comment><comment><USER18> Redux as clear winner for app state management?

They're wrong. Here is why:

[https://gist.github.com/idibidiart/49a095b6bc528638f34f](https://gist.github.com/idibidiart/49a095b6bc528638f34f)

</comment><comment><USER19> Sites these days love their whitespace, don't they, but now the content is fading. At this rate, in 7 years most websites will just be pointless while rectangles. Still, should save on the server costs as it'll cache well.

<comment><USER20> I don't understand your complaint. Out of all the articles I've read lately this page seems to be easiest to read. It focuses on just the content and formats it well.

<comment><USER21> The text is grey instead of black. It probably looks fine on most monitors, but I can see how it might exacerbate readability issues. It's become some kind of received wisdom that body text shouldn't be black anymore, I just don't understand it.</comment></comment></comment>


What is Computer Science? - <AUTHOR> http://vanemden.wordpress.com/2009/12/27/what-is-computer-science/

<comment><USER2> This is only really half the story. Modern computer science is an intermingling of an engineering-heritage and mathematics-heritage tradition, and the people quoted here are all definitely on the math side. The intermingling has only partially taken place, too: you can often still tell from a particular CS department's focus whether it broke off from an engineering dept, or broke off from a math dept.

Which makes sense to a certain extent, because if you want to reduce all of computation to something, "machines" and "mathematics" are both things it reduces to, depending on how you look at it. Everything at its base is lambda calculus, but everything at its base is also machine code and bits in registers.

<comment><USER3> "... but everything at its base is also machine code and bits in registers.

So far.

I don't have any examples, but my gut tells that it would be much easier to replace the "machine code and bits in registers" part with something else than it would be the lambda calc part.

The former is an implementation detail.

</comment></comment><comment><USER4> The study of computation.

What is computable?

How do we prove that?

How do we compute it?

Is it computable in multiple ways (different algorithms, different kinds of computers, etc.)?

Are there certain advantage to different ways of computing the same thing?

What are the basics of computation (is there a minimal concept of computation that encompasses all of the things that are computable)?

etc.

<comment><USER5> To me, the most interesting question -- possibly the only interesting question -- in CS is this:

Inherently, computers can do anything; but humans often have a hard time getting computers to do what they want. What

(i) set of higher-level abstractions (such as files, directories, processes, functions, classes, objects, etc),

(ii) ways of those abstractions interacting with each other, and

(iii) notations for those abstractions

best allow humans to get computers to do what they want, with the minimum of effort?

<comment><USER4> I think iii is the most interesting of those. How to succinctly describe formal systems is a very hard topic. The kind of mathematical notation we use in classical mathematics (algebra through calculus) is an _amazing_ achievement developed over centuries (most of it since the 14th century!). But it only describes the existence of a calculation to be performed, not that actual method of calculation (the algorithm).

Our ability to represent the methods of that calculation are extremely primitive. I suppose Lambda calculus is pretty close as are most modern programming languages. Upper and lower bound notation (like big-O) isn't bad as a kind of descriptor, but it's very restrictive in what you can do with it. I've seen certain kinds of state notation that's interesting-ish. But nothing approaches the elegance, flexibility (it's easy to abuse in good ways), extensibility, simplicity and efficiency of math notation (though even that system falls down when doing lots of matrix calculations by hand). But it beats the pants off of any other system I've seen for general mathematics.

Most of the things that we deal with in CS are so big and complex that even diagramming them by hand would take longer than we'd want and require more paper than we have. In math we have some nice symbols to bundle all that complexity up, like pi, or summation, or limit notation. In CS we lack that. Most of the time we try and get by with toy examples, like graphs with half-a- dozen nodes, or small trees only a couple levels deep with different colored lines or some such -- most of it seems to be diagrams and tables...lots and lots and lots of diagrams and tables. Regular Expressions seemed about as close as we ever got to describing something succinctly. Learning how to manipulate graphs just off of the regexes was a very cool experience.

I remember distinctly how frustrated my CS professors were compared to my Mathematics professors when trying to explain some concept on the board. I don't ever recall seeing a nice symbol that represented say, a tree, with some various super or subscripts that succinctly described all of the properties of that tree and the algorithm we were going to be using. Imagine how powerful it would be to write down, with just a few strokes, a short series of symbols that unambiguously defined a red-black tree and a search algorithm that runs in such and such min-time-complexity, max-time-complexity, and average- complexity as just a simple operator! Maybe something as simple as Y(rb) + s(log n, log n, "search term") = [s|earch term] or some such! But alas, I'm just falling back on a slightly bruised mathematic formal notation, not really anything new.

Given how rudimentary the tools are we have to work with, it's amazing how far we've come in so short a time.

</comment></comment></comment><comment><USER6> Treating Computer Science as a homogeneous, monolithic concept is probably a mistake. Asking whether lambda calculus or relational databases or compiler design are truer computer science is somewhat akin to asking whether algebra or topology or calculus is the truer math. The answer, in both cases, is "yes."

The main difference between maths and computer science in this respect, if there is any, is that historically math has a divergent evolutionary path, starting as one discipline and spinning off subsystems, while computer science has a convergent evolutionary path, starting from the very different folds of math and electrical engineering and incrementally bringing the two sides closer together. Computational theory and formal verfication belong on the math side, compilers on the engineering side (Haskell being used in production code may be the final merging).

</comment><comment><USER7> The roots of Computer Science lie in Electrical/Electronic Engineering and Maths. Both groups contributed tremendously (as well as a great number of other disciplines that saw its potential as a tool). My first contact with computers was with a CNC experimental machine (as a Mechanical Engineer) and the Electrical Dept. assigned someone from the Department for the lectures (early 80's in the UK) and that hooked me onto Computers:) At the same time the Electronics Engineers had quite a few options to take on Computer Science courses.

However, just reading the disclaimers of liability that routinely accompany software bear witness to how far software engineering lies from the "established branches of engineering." No Engineer worth his salt in another Engineering discipline would ever dream of getting away with such a disclaimer! As such the field has been hijacked somewhere along the line away from Engineering:)

</comment><comment><USER8> about the difference between computer science and informatik (UK/US vs europa):

as others have noted: in europe "computer science" is not taught at universities. informatik is. (one could argue wether the courses "fachhochschulen" offer teach "computer science").

reading what lectures in computer science (in the US) are about, it seems "computer science" is really a lot about computers and writing software. whereas informatics ("informatiker") do not necessarly work with computers - often they do, because computers are handy for working with information. but the computer itself, its software & hardware, how it works is not a part of all informatik studies (it is of some).

i'm no native english speaker but from what wikipedia tells me "informatics" - this very broad field - is actually what we mean with "informatik". for example at the technical university of vienna there are eight different, specific sub-disciplines you can do your master's degree in ("media informatics", "medical informatics", "software informatiks", "technical informatiks", "computer graphics" - my own translations, sorry).

</comment><comment><USER9> I hate the term 'computer science'. There's no science in computer science, as the article says, it's a branch of mathematics.

<comment><USER10> Computer science is called "Informatik" in German. (French: "Informatique", Russian: "Информатика")

<comment><USER11> In English, "information science" (<http://en.wikipedia.org/wiki/Information_science>) is usually more closely associated with classification and resource collection management, such as archival work and library cataloging.

I like "informatics" though. It is used in "bioinformatics", at least.

</comment></comment></comment><comment><USER12> Feynman used to ask Danny Hillis (Connection Machine) this question as form of ribbing.

</comment><comment><USER13> "A different way of (mathematical) thinking" is too vague a definition for me. In my mind CS is the study of how to precisely define a problem and how to precisely define a process to solve it.

<comment><USER14> That's mathematics, not science. There's more to CS than algorithms. Even heuristics wouldn't fit your definition, never mind any kind of research like machine learning or human-computer interaction.

</comment></comment><comment><USER15> It is not mathematics. Its an art.

<comment><USER16> You're confusing computer science and computer programming.

<comment><USER17> This always reminds of me of Dijkstra's quote:

 _Computer science is no more about computers than astronomy is about telescopes._

<comment><USER18> I love this quote. My interpretation is that he's saying computers are merely tools for exploration, like how telescopes are just tools to the astronomer.</comment></comment></comment></comment>


Apple's Series Three Apple Watch to Include Cellular Connection - <AUTHOR> https://www.macrumors.com/2017/08/04/apple-watch-series-3-lte-chip/ <comment><USER2> I love my S2, but I have a hard time seeing why I should pay the cell phone company $120/yr to connect my watch.

I don't go without my phone and I don't think this would change that. For people who want to run and listen to Spotify in sure this is great.

But that stupid cell company fee will keep me away. Just like it keeps me off cellular iPads.

<comment><USER3> You have to to pay $120/yr because they have a network and you don't. Create your own telecom and you can connect to the internet for free.

<comment><USER2> I'm not expecting it to be free, it just seems like a very high fee for what the watch would do.

Remember I'm already paying hundreds a year for my phone and the shared data plan. $10 a month just seems like a lot to add an additional device, especially if I end up needing to buy more data too.</comment></comment></comment>


Valtan: Common Lisp to JavaScript Compiler - <AUTHOR> https://github.com/cxxxr/valtan <comment><USER2> Also potentially coming down the line is JACL (Javascript-Assisted Common Lisp), a web-app focused dialect of Common Lisp.

[https://tailrecursion.com/~alan/documents/jacl- els-2020-draf...](https://tailrecursion.com/~alan/documents/jacl- els-2020-draft.pdf)

</comment><comment><USER3> I'd hold off on getting too excited about this. Until it:

\- Is fully featured and has a conditions and restarts system that works on JS, and has CLOS, multimethods, etc

\- Has great interop with the existing JS ecosystem. No painful conversions to and from CL, works/is documented well with existing JS tooling like parcel, webpack, mocha, etc

\- Is close to being fully featured and not just implementing <50% (usually <30%) of the features of the language \- Is production ready -- no weird compiler bugs, I can use this with real business

\- Has a powerful linting tool -- A linting tool that can blacklist/whitelist a subset of common lisp macros and expressions that can be used in a project. You would need something like this for a real company to prevent the team from shooting themselves in the foot. Could probably be done in CL, sblint comes to mind but it's not well documented (like most lisp libraries) so I'm not sure.

\- Culture changes: specifically the community needs to document things much better and be more pro-social instead of living on an island. Backend workflow needs good docs. Ex: I think fukamachi's web frameworks supersede weblocks afaict? not sure, but he has like half a dozen or so web frameworks and it's not obvious which one to choose. Ningle? utopian? caveman? clack + woo? documentation in most CL libraries are really lacking and you need to dig into the source

\- Run CL programs without opening a debugger. Modern day workflows have CI pipelines and automation out the wazoo. CL expects you to run the debugger manually. There's a way to run asdf projects like a script but it's not well- documented

\- The debugger needs to be more user friendly. Don't get me wrong, the debugger is one of the coolest features of CL, but asking a plain old JS dev to try to understand those low level stack traces is a form of torture. It's roots come from lower level programming, but newer devs want to use it for web app dev (like this to-js compiler posted here). A nicer, easier to understand layer like ReasonML's BetterErrors would be needed or an update to CL itself

\- A real package manager. Not quicklisp -- that's a curated package list where you need to talk with a single person who approves it to get your package published

</comment><comment><USER4> I see a lot of Lisp stuff on HN : do a lot of people use it ?

<comment><USER5> We use it for the core of our AGI and our in-memory graph db in full production - very very fast. The web libraries for lisp are very good as well with Fukamachi libraries, such as [1] caveman and [2] woo (fastest web server), [3] dexador, [4] websockets, also [5] parallel processing, [6] rtg- math incredibly fast math library including quaternion support, etc.

[1] [https://github.com/fukamachi/caveman](https://github.com/fukamachi/caveman) [2] [https://github.com/fukamachi/woo](https://github.com/fukamachi/woo) [3] [https://github.com/fukamachi/dexador](https://github.com/fukamachi/dexador) [4] [https://github.com/fukamachi/websocket- driver](https://github.com/fukamachi/websocket-driver) [5] [https://github.com/lmj/lparallel](https://github.com/lmj/lparallel) [6] [https://github.com/cbaggers/rtg-math](https://github.com/cbaggers/rtg-math)

<comment><USER6> Last time I checked, woo doesn't support TLS. Has that changed?

<comment><USER7> Given present day approach of using reverse proxies for TLS termination, that's not much of a limitation.

<comment><USER6> That's the solution I use with mod_lisp running behind Apache too, but I'd like to get away from Apache. I'll try haproxy.

<comment><USER7> HAproxy is really, really good.

Personally I also use nginx as reverse proxy a lot, but that's more because there's a ready to use _Ingress Controller_ for kubernetes that uses it internally.

</comment></comment></comment></comment></comment></comment><comment><USER8> Now do WebAssembly.

<comment><USER9> Not CL but still lisp > WASM: [https://github.com/roman01la/clj- wasm](https://github.com/roman01la/clj-wasm)

Previous discussion: [https://news.ycombinator.com/item?id=21604850](https://news.ycombinator.com/item?id=21604850)

<comment><USER10> No, that's just a Clojure inspired syntax for WebAssembly.

<comment><USER9> Yeah, that's true. Sorry, misunderstood the scope of the project.

But I guess it's closer to Common Lisp than what WASM's text format is, so might be helpful for some.

</comment></comment></comment></comment><comment><USER11> There are too many incomplete lisp-on-js solutions. No, CLJS doesn't count. It would be so awesome if one ever made it to actual usable maturity.

Is it too hard? Is there something that makes everyone give up? Or is lisp just too academic for most people to care?

<comment><USER12> It could be done using WebAssembly. But AFAIK all existing Common Lisp implementations want to manipulate the stack in ways that WASM disallows.

<comment><USER13> Can you be more specific about the peculiar way in which CL manipulates the stack? Where to find more details about CL internals?

<comment><USER14> In CL, if you catch an exception, you have the option of trying to fix the problem and then letting the code continue from where it left off. This is only moderately difficult to implement in machine code, but somewhere between problematic and impossible on a high level platform that has already implemented exceptions by stack unwinding.</comment></comment></comment></comment>


Google Navigation on Android now automatically routes around traffic - <AUTHOR> http://googlemobile.blogspot.com/2011/03/youve-got-better-things-to-do-than-wait.html

<comment><USER2> I've found the Android version gives significantly worse directions then Maps on a PC, or even my TomTom. I'll have to give it a try again and see if this helps.

As an example, if I use my phone to navigate from my apartment to work, it takes me down a road where there's a redlight every quarter mile, as well as heavy traffic during 75% of the day. If I use my TomTom or Google maps on my PC, they take me down the highway, which is about 2x as fast as the route my phone tries to take me. I've had several people tell me similar things about the Android navigation.</comment>


Source code of the official German corona app published - <AUTHOR> https://github.com/corona-warn-app/cwa-app-android <comment><USER2> Easter egg:

[https://github.com/corona-warn-app/cwa-app- android/blob/mast...](https://github.com/corona-warn-app/cwa-app- android/blob/master/Corona-Warn- App/src/main/java/de/rki/coronawarnapp/risk/RiskLevelConstants.kt#L9)

object RiskLevelConstants { const val UNKNOWN_RISK_INITIAL = 0 const val NO_CALCULATION_POSSIBLE_TRACING_OFF = 1 const val LOW_LEVEL_RISK = 2 const val INCREASED_RISK = 3 const val UNKNOWN_RISK_OUTDATED_RESULTS = 4 const val UNDETERMINED = 9001 }

The undetermined risk level is over 9000?

</comment><comment><USER3> I'm in the US, but I'm glad to see the German gov. move to embrace OSS. Hopefully the progress made there will spread to other parts of the world.

edit: I can't spell right the first time.</comment>


What's the next number in this sequence? - <AUTHOR> https://adtac.github.io/blog/post/next-number-in-the-sequence/ <comment><USER2> There's a trivial way to generate a machine to come up with polynomial number sequences. Just write the sequence in a column. Then take the differences between each entry and the next, and write it to the left. Once that column is complete, repeat (taking differences between entry and next entry, and write to the left). When you get down to 1 entry (there is 1 fewer in each column) just fill that down the column to complete the matrix.

To generate next entries, simply take the last row and add each entry to the one to the left, and write it below creating a new row. The right column is your polynomial sequence.

This was used in hardware long ago to generate simple polynomial curves in a graphics circuit using only cascaded adders.</comment>


Ask HN: How to reskill without losing income? - <AUTHOR> I am making a good living with a niche skillset. It's a fairly old technology and there's less and less work in that area. I'd like to move to another technology stack - it's not too hard for me - different keywords etc and I've actually done some hobby projects already. I think if I applied for a job I'd get rejected as there is no track record of being able to work with that tech. Best get case I could probably apply for a junior job which would pay well below my current. It will probably take years to get to the same level of pay, assuming that particualr tech stack takes off. Is there any eascape from this? Are there any companies that would be willing to hire a grumpy 30-something and recognise his/her experience as something reusable? <comment><USER2> I did this back in 2009. Here's how to do it.

Pick a technology stack that you want to get a job in and build a side project in your spare time. Attend meetups with experts in your local community and learn how to make it awesome. Build relationships with them along the way.

Use those relationships to get some part-time contract work in said technology stack with someone local. Document this experience and build up a portfolio.

Eventually, use the knowledge you've obtained from your side project and part time contract work to apply for full time jobs. You'll then be very marketable, and you will have enough knowledge to do well in interviews.

Good luck!

<comment><USER3> This! I've had the opportunity to hire for our company for the past year or so. We use a somewhat uncommon paradigm in our tech stack that is very attractive to a lot of developers. Many of our applicants have exactly what you said: plenty of side projects in that paradigm / stack and participation to meetups / communities etc.

Occasionally however I run into people who have absolutely no side projects and have been doing the same stuff for 10+ years. I'm a Java expert (or .NET or C etc.), they claim. When I ask them if they've tried anything else besides that one thing they've been doing over and over for a decade, perhaps a side project, a toy product, some contribution to OSS in the new paradigm they apparently really want to work in, I get responses along the lines of "I'd never work on something I'm not being paid for, I'm a serious professional that's irresponsible".

Er.. ok. So I'm supposed to hire you, take a huge risk not knowing if you can pull this off or not, train you for a year to do something you have 0 familiarity with, and then you might peace out right about the time when I'm starting to recoup the onboarding costs? I'll pass. Candidates who already demonstrate a lot of interest, side projects, and desire to learn outside of their 9-5 will win any day of the week with me.

<comment><USER4> I agree that someone who doesn't have side projects isn't as attractive as someone who does, in general. But there are lots of people who don't do any programming once they leave the office (8-9 hours of computer time is more than enough for them). That doesn't mean that they aren't dedicated or that they are a risk.

I think it should be a case by case basis.

<comment><USER5> As someone who struggles to find enough time for side projects, I agree that it isn't necessarily a sign that someone isn't passionate about the job. However, if someone says stuff like "I'd never work on something I'm not being paid for, I'm a serious professional that's irresponsible", its pretty obvious that they don't actually like what they are doing.

<comment><USER6> _its pretty obvious that they don 't actually like what they are doing._

My dad has been a mechanical engineer for almost 40 years and I struggle to think of anyone who enjoys their job as much as he does. Yet I have never once seen him do any personal "side projects" that are in any way related to his day job.

<comment><USER4> Many people truly believe in _not_ doing anything related to their career/job outside of their workplace. They do something totally different instead. One might train for a marathon in her spare time, instead of learning the newest JS framework for example.

The side project concept is fairly unique to digital workers, especially software engineers simple because _we can_. Noone asks an accountant or a secretary for side projects.

</comment></comment></comment></comment></comment></comment><comment><USER7> As someone who does a lot of hiring for a startup, I will say I'm agnostic with regards to languages and frameworks. We've hired folks with all sorts of disparate backgrounds including embedded C (we mostly use Java and JavaScript).

I think you should sell yourself as an experienced technologist who's looking to learn. You should also demonstrate a willingness and ability to learn new things; maybe by making something and putting it up on github.

<comment><USER8> This is an excellent point. We hired an engineer at the startup I work at who had a lot of Java experience but very little Ruby experience—our stack's primary language.

He was a fast learner and had no issues getting up to speed in a reasonable amount of time.

<comment><USER7> that's been my experience, too; both for myself personally, as well as people I've hired.

</comment></comment></comment><comment><USER9> > I think if I applied for a job I'd get rejected as there is no track record > of being able to work with that tech.

This is a big assumption, that is simply not true for a lot of opportunities out there. If you are able to show proficiency in what they are looking for, many companies will take you seriously as a candidate, even without 5+ years on the resume in said technology.

Worst thing you can do for yourself is to not try and apply. Worse case is you get a "no thanks" and you move on to the next application.

<comment><USER10> If this is the case, why do people put tech under the 'requirements' section, rather than the 'desired'?

Hiring managers, you are going to get what you ask for.

<comment><USER11> At least some of those are H1B posts to prove there's no one in the locality with seven years experience with Windows10. Some are also pencil whipping a HR checklist before hiring the bosses kid or the hand picked internal candidate. You want a CCIE and are offering $50K? No one applying is not necessarily seen as a bug.

At megacorps the relationship between the people writing reqs and the actual job are often rather strained.

I could never qualify for my own job req, and I work there. I got in via networking and portfolio. Seriously, HR lists specific versions of AS/400 software and the department doesn't even work that closely with the AS/400 group, ya know. In fact I think my AS/400 password expired, aged out so I need to regain access, although I really don't need it. People in my department "need" windows 8 experience but our desktops are win7? A+ certification preferred because everyone in my great-grand department requires it on paper? You listed the exact model number and firmware version of a specific spectrum analyzer from a company that is no longer in business under that name? Seriously?

<comment><USER12> See, this is a major dysfunction when combined with the unwillingness to give rejection reasons. How is one supposed to know when they get a form letter rejection if it was because this particular company is actually serious about their asinine "requirements"?

<comment><USER13> At the risk of sounding snarky: why do you need to know?

</comment></comment></comment></comment></comment><comment><USER14> I have found it is much easier to switch to a new stack within your existing employer than it is to get hired for a stack for which you have no professional experience.

Here are the steps:

a. find employment at a company that requires your niche skillset but also has projects in your desired tech stack (hopefully this is your current employer)

b. learn enough of the desired tech stack on your own to be a useful contributor

c. ask to switch over to a project using your new stack, or volunteer to write tests or help in some other way to get your foot in the door (this may require some persistence and relationship-building)

d. once you have some experience you are ready to add it to your resume and seek your dream job

<comment><USER15> This is advice that many seem to overlook. Leverage the current skills to get exposure to the ones that you want. It is not always easy to find companies that both use your dated skill and the skill you want. Devs at those companies probably aren't that interested in using the old technologies, so you should be welcomed for your willingness to do the job they don't want to do in exchange for learning something new.

</comment></comment><comment><USER16> When I interview people, I am less interested in their specific experience than I am in their ability to think and troubleshoot problems. Google solves the knowledge problem but doesn't solve the problem of intelligently using that info.

I imagine other employers are similar, and given the high demand for tech workers, you might be surprised at the reactions.

<comment><USER17> I do the same, but from reading a lot of comments in similar threads here, it seems that we're a minority. Many (most?) employers want to hire people with only the exact skills & technologies they're currently using.

I was hired into my original position here knowing absolutely nothing about the language or the technology. Like you, my manager just wanted raw talent that could be retrained and it worked out for him. That's probably colored my interviewing practices over the years, but an awful lot of people don't want to take that kind of a risk.

<comment><USER11> "but an awful lot of people don't want to take that kind of a risk"

I would agree with and extend your remarks in that its a window into how the company handles risk. There have been companies that have blamestorming meetings to punish the people who selected employees that didn't work out. I had an experience with that leveraging an inside contact for info, and I was pretty pissed off at that time, but now that I'm older and wiser I am so unimaginably happy I didn't get a job at a company mismanaged like that.

</comment></comment></comment><comment><USER18> My advice: thinking it is just "different keywords" is exactly why you may lose income. The syntax may be easy to change but you're changing an entire stack that will have it's own conventions, history and culture.

If you want to be paid well, it's an awful lot more than just keywords.

</comment><comment><USER19> Do companies really try to pigeonhole developers into "tech stacks" so much that you'll be forced to revert to junior status to change?

Unless we're talking about COBOL -> Haskell here, I think any decent company would be wary of overvaluing skills with a particular language or framework and undervaluing fundamentals.

<comment><USER20> It depends. It's more about developers pigeonholing themselves. Some CVs come along and are e.g. all Java, EJB, Spring, Hibernate etc. - they present themselves as completely unidimensional and more or less rule themselves out of something broader.

There are different things you learn when you've coded in a mix of C/C++, Java/C#, Ruby/Python, and perhaps something functional. But having all your experience in one of these buckets is more a sign of a junior developer, or the old "one year's experience ten times".

<comment><USER12> What are they supposed to do when the people employing them demand they get ever deeper into a specific stack in order to advance?

</comment></comment></comment><comment><USER21> > Are there any companies that would be willing to hire a grumpy 30-something > and recognise his/her experience as something reusable?

Yes. I work for a large company that does recognize this and does _not_ hire for specific stack experience. We have a hard enough time finding enough good people, regardless of specific experience, to use that as a critical factor.

</comment><comment><USER22> Maybe start by attending user groups or meet-ups on the tech you're interested in. That might lead to some potential freelancing gigs or even just some open source work in that field.

But, in general, I think many, many companies are willing to hire 30-somethings with experience. Perhaps seed-funded startups aim for cheap low end labor, but enterprises and well-funded startups consistently value experience over skills with a specific stack or language.

</comment><comment><USER23> Sounds like you're confident in you ability to pick up any stack. I wouldn't wait. Good companies hire smart people.

I just switched to a great company with a stack I had zero experience with. Hasn't been a problem at all.

</comment><comment><USER24> You would not get rejected if you applied for a job without a track record, at least, not out of hand. I've been hired to work on .NET having never had worked on it before.

You do not need side projects or to train yourself. Just the ability to project confidence.

</comment><comment><USER25> If you have an employer, this is usually a pretty easy sell. Approach your boss about transitioning Aging Product X to a new technology stack because the current one is becoming defunct. Of course this will require some training for you, but it is easier to teach you a new skill set than to hire someone with that skill set and get them to learn about Aging Product X.

If you aren't employed and are contracting/freelance, it is just as easy. Since your skill set is niche, not everyone has it, and you can charge more for that niche. Up your rates enough that you can cut 10 hours a week out to study something new.

<comment><USER26> Is convincing employers to transition technology stacks really something that is generally considered easy (or even doable)? I'm stuck maintaining 'enterprise' software running on VB6 and ColdFusion 9 and the idea of getting my employers to sanction a migration to something newer is laughable.

<comment><USER13> Not necessarily, but convincing your boss to be mindful of your medium-term career goals definitely is and at largish companies there should be opportunities for you to spend time working on something else. Career-wise, I'd be more concerned about working for someone that wants you to stagnate than about the specific software you're maintaining. (Not saying that that's necessarily the case, BTW.)

</comment></comment></comment><comment><USER27> I also went through this a few years ago. I was a land surveyor and although I loved the combination of technical, mathematical, and analytic skill with working in the great outdoors, the subprime mortgage crisis resulted in big commercial land development contracts drying up.

You have to be single-minded and goal-oriented. Another HN user above says to "pick a technology stack" and focus down on it. That's great advice. I already had some experience on the LAMP stack and I built up from there. Don't let yourself get distracted after you've decided the direction you see yourself moving in.

Work on side projects. Go to meetups. Find people you can collaborate with and work well with you. See if you can get some PT work that is being parceled out by companies because their own FT devs are too busy. If you're allowed to expose your code, build up your Github. Don't forget to visualise where you see yourself going, and don't be afraid to tell people where you're headed.

Also, make productivity apps work for you. Have a Dropbox file where you keep all your technical books, and have that file open all the time. Subscribe to Pinboard or some other bookmarking service to save technical blog posts and documentation you want to read. Use Trello to manage your projects. Etc. Good luck to you.

</comment><comment><USER28> I've worked for 20 years and never targeted myself towards a tech stack. In fact, I think spreading yourself over lots of different tech is a better bet for longevity, even if not optimal in some short-term capacity. Being able to adapt quickly to new paradigms is the quality necessary for long-run viability. And when you have a track record of successfully doing that, no one will question your ability to do it in a new setting.

</comment><comment><USER29> Doing consulting work? If you can solve companies' problems, they won't mind if you don't have a track record with that particular stack.

</comment><comment><USER30> If you're a senior level developer (ie: if you've been doing development more than 7+ years), then you're in luck. Companies usually recognize senior level developers can migrate to a related technology stack without too much of a loss, and the skills of being a senior developer are more soft-skills than particular technical areas. Recruiters generally won't know how to sell you in this regard, but with a bit of networking, you should be able to find you a bridge position into your new technology stack. You are going to be expected to hit the ground running, which will make the first few months of that job really exciting, but it should be entirely possible.

A good place to look is in consulting companies, like my own Webonise Lab. Consulting companies will often hire experienced people to become generalists with broad skill sets, and will often take a specialist and give them an opportunity to train up through the company's open source projects and the like.

</comment><comment><USER31> I switched from doing back-end C# work to front-end JS by switching jobs at my employer. I basically reskilled on their dime. If you're a talented engineer and your company doesn't suck, they should be relatively accommodating to this idea. Engineers get bored and want to switch it up, smart companies and smart managers get this.

</comment><comment><USER32> Thanks a lot for asking this - I'm in a similar boat¹ and will follow this thread with interest.

Good luck from another 30-something.

① For me 'niche tech' is one thing, and 'investing a lot of time in the bowels of the corporate product over 10 years' the other one - the latter just WILL go away if I switch and is absolutely not useful elsewhere

<comment><USER33> Don't underestimate the value of the lessons you've learned in the bowels of that corporate product. Consider:

1) You have experience in a corporate environment. You know the kinds of things that terrify them, and you know the kind of experience they expect from the companies they interact with. This knowledge and perspective is incredibly valuable to any startup in the b2b space.

2) The problems you solved - while maybe specific to the corporate product - generalize well. There's a better-than-even chance you had to deal with managing data from multiple inputs, scaling and performance, build management, testing issues (even if experience in pain of not having it), product delivery, and/or user experience. These things are not as different as you might expect.

Reference: I spent many years working for a Large Bank developing in-house software before transitioning into the startup world. THe biggest problem I had faced was my complacency - somewhere along the way I gave up on pushing to do things better, and it took me a while to get that back. In that way I was fortunate that I came to work for a company that gave me the time I needed to do that.

<comment><USER32> Thanks for the words of encouragement.

I'm not totally pessimistic, I was really referring to the knowledge that doesn't translate to a new job. After 10 years and working deeply with a lot of stuff I am among the 'Do you know..?' types for questions about the inner workings of the product. That is really just baggage.

Processes, experiences probably can be reapplied elsewhere. But having read some C files from 1996 (I .. didn't work at that company at that time), reciting the product's API every evening after dinner and being intimately familiar with the current .Net code base is time invested in this job and this job only.

<comment><USER34> >> But having read some C files from 1996 (I .. didn't work at that company at that time), reciting the product's API every evening after dinner and being intimately familiar with the current .Net code base is time invested in this job and this job only.

I disagree with this, you gain something working closely with a legacy code base. After you've done it once, it becomes easier when you have to it again, although if you do it more than a few times, it gets REALLY old. I distinguished myself at my last two jobs by jumping into and becoming proficient with the legacy code in short order.

</comment></comment></comment></comment><comment><USER35> My issue is similar, though not so tech-related. I do VA work for some startups but would like to get into a growing interest of mine (journalism), though my time is limited. I have experience as a writer, but not a background in journalism. I could make the complete jump to being a journo and self- publish, shop stories and find my way, but that'd mean giving up what pays the bills (pay & responsibilities of which are currently on the rise). Doing what I want to do means way more work and, very likely, less pay.

Does anyone else here juggle two different jobs? Is there a secret to doing so?

</comment><comment><USER36> As someone who is trying to move into the development space from a more sys admin role this is great to hear. I have a similar idea about learning new things. I just dive in with both feet and start building, watching tutorials, and reading the docs. I have been working on Nodejs/Meteorjs apps in my spare time. I am just going to keep building little side projects to get better and learning all I can along the way.

Glad to see I am on the right track and that others have had success managing their career path. Thanks for all the great advice!

Moral of the thread: Never stop learning!

</comment><comment><USER37> It is a good question! Personally, I've got my first full-time job thanks mostly to own side projects in my portfolio - I was hired even without code challenge during recruit process - so listen to 75% of comments here - do some side projects, built a solid portfolio and apply.

You can also try some contract work/start own business and do some simply projects that one-man-band can handle - I was trying that too and after every project I've felt that my skills got a boost.

Best,

ł.

</comment><comment><AUTHOR> Thank you soo much for all the comments so far. I didn't expect such positive respone. It definitely encourages me to try new things over the summer.

</comment><comment><USER38> Career changes also allow for switching roles. There's no reason to keep playing grumpy at a new job. First because good workplaces are often good because they don't place a premium on grumpy, and second because at companies that value grumpy that slot is likely to be filled. I'd throw in that thirty- something is a bit young to be the go-to-get-off-my-lawn person.

Good luck.

</comment><comment><USER39> I just switched from C# to Ruby. Honestly the switch has not been that big of deal. The company is giving me some time to learn, and the switch has been pretty painless.

I think if you want to switch, I think its more important to demonstrate skills in the base skill set (in my case software architecture), and then there are plenty of people willing to give you some room to grow.

</comment><comment><USER21> I'm curious about something similar, but perhaps more drastic. I went to college for EE, but after graduating got a job in software. I enjoy computer engineering much more than software, but at this point I'm 5 years into my career and I don't see a way that I could ever switch paths without taking a critical hit in income.

</comment><comment><USER40> [https://nextdoor.com/jobs/?gh_jid=424](https://nextdoor.com/jobs/?gh_jid=424)

We don't care about what tech stack you know, we're willing to teach you ours. We just need you to be extremely motivated and ready to go!

</comment><comment><USER41> I'v really enjoyed seeing what companies such as tradecraft have doing around this sort tactic [http://tradecrafted.com/](http://tradecrafted.com/) \- check them out.

</comment><comment> martin-adams >> I think if I applied for a job I'd get rejected

Only one way to know for sure.

</comment><comment><USER42> I am in the exact same position. Summarizing the responses, the short answer to your question is no, there is no escape.

</comment><comment><USER42> READING THE THREAD IS DEPRESSING AND ENCOURAGING BUT THE SHORT ANSWER TO YOUR QUESTION SEEMS TO BE NO

</comment><comment><USER43> PHP programmer, right?

</comment><comment><USER44> You're going to have to do it on your own time. Make it a pet project, make it visible on github, and make sure to link it on your resume so potential employers can see what you're capable. of.

</comment><comment><USER45> You could do work at night on side projects to learn new skills.

<comment><USER46> Better if you could do it together with others. Join a study group of the tech you want to learn or even try going to relevant hackathons.

<comment><USER10> > a study group of the tech you want to learn

Aka an open source project that is written in the stack you want to learn.</comment></comment></comment>


Leaked: Sun's project to migrate migrate customers using Oracle to MySQL - <AUTHOR> http://www.wikileaks.com/wiki/Sun_Microsystems_%22Project_Peter%22_targets_Oracle_to_MySQL_migrations_to_boost_sales

<comment><USER2> I wonder how many other companies have internal presentations for their sales staff on how to win business from competitors, regardless of the alleged suitability of their product?

<comment><AUTHOR> I bet most companies would have strategies for this type of stuff (stealing sales, recruiting team members from competitors) -- even if it's not explicit documents such as the one in the OP.

I think if the product is _good enough_ to get the job done, and it meets the customer's needs without too much pain then why not?

<comment><USER2> I think what I was trying to say is that it's not exactly a shock that they should be trying to get Oracle customers where MySQL would work fine.

In fact, not doing this would more shocking.

<comment><AUTHOR> Agreed! :)</comment></comment></comment></comment>


Why Is the Cyber Security Industry Addicted to Marketing? - <AUTHOR> http://petercohen.me/cyber-security-industry-addicted-marketing/ <comment><AUTHOR> Found this today after an intense discussion about the pros and cons of buying a rather expensive web security gateway. Still feel uncomfortable with a closed source solution from a big vendor, and the security consultants could not really explain what the benefit will be. But looking at these sales budgets I'm not surprised that management was already biased.

</comment><comment><USER2> Found this to be an interesting read, although a bit superficial. Having worked in the industry as a consultant, I detest these snake-oil practices, and it always bewildered me, why companies were so prone to throw their money at these kind of 'magic' black-box solutions. But I guess, it's just another CYA strategy.</comment>


Ask PG: Live comment updates for endorsers - <AUTHOR>

I'd like to do my part to endorse quality comments, however I have a short attention span. The time I spend reading a comment thread is probably the only time I'll ever spend on that thread. If a comment has been made just before I got there I will have a chance to endorse it, however the whole time I'm reading a thread is time when I'm engaged and available to endorse.<p>If there were an indication somewhere that there were N new comments in the thread I'm reading, or if they just showed up my time would be used more productively for the community. <comment><USER2> The implementation has changed so that is no longer needed.

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


The Wisest Entrepreneurs Know How to Preserve Equity - <AUTHOR> http://dealbook.nytimes.com/2011/11/15/the-wisest-entrepreneurs-know-how-to-preserve-equity/

<comment><USER2> Andrew Mason may only own 7.5% of Groupon, but the absolute value of Andrew's stake right now is almost certainly much higher than if he had decided to "preserve equity" and skipped one of the many rounds Groupon has raised. (Long-term, maybe not.)

YC's advice for founders is the opposite: don't optimize on valuation (or valuation cap, for debt)-- whether you give up an additional few percent matters less than other factors, like how much value the investors add or the time and effort spent completing the deal (and not working on product).

This is related to YC's argument for why they're worth their 2-12%: <http://paulgraham.com/equity.html>

</comment><comment><USER3> From the article: "What is the lesson here? Entrepreneurs need to not only have a great idea and successfully manage their business but also to be careful not to sell too much of the business too soon. ... In part, [Zuckerberg owning 24% of Facebook right now] was a result of aggressively setting a valuation for his company early, ensuring that Mr. Zuckerberg kept substantial ownership. A high valuation benefited Mr. Zuckerberg because he needed to sell less stock to raise the same amount of money."

The article suggests that you should fight for aggressively high valuations.

There is a flipside to this. Setting your valuation aggressively high only benefits you if you win big. As Chris Dixon and others have warned (e.g. [http://techcrunch.com/2011/06/08/fred-wilson-platforms- valua...](http://techcrunch.com/2011/06/08/fred-wilson-platforms- valuations/)), a too-high valuation can lead to a down round if you don't meet expectations. This can harm your company and make it _harder_ to raise your next round.

So following the advice of this article is a risky gambit. You can't anticipate all roadblocks or obstacles that could prevent your company from growing as much as you intended when you raise that money. You can't control all external factors, e.g. the economy. It's your choice if you want to roll the one-hundred sided die.

</comment><comment><USER4> _When the time comes for the company's initial public offering_

That's where I quit reading. The time for most companies' IPO comes just slightly after pigs fly over a frozen hell. Is strategizing your way to a personal multi-billion dollar exit really how you should be running a company in the early days?

<comment><USER5> I think so. If you're going to spend the better part of your life trying to make it big, at least make sure you keep the lion's share of the wealth you create, otherwise you could make the same amount of money with less risk (and blood,sweat, and tears) by working for a corporation as a highly paid engineer.

</comment></comment><comment><USER6> This piece really dropped the ball by failing to mention the unethical ways certain startups (I'm looking at you, Zynga and Mark Pincus) preserve equity, such as clawing back early options to key employees on pain of firing. Sleazy.

</comment><comment><USER7> It is interesting that this article brings only very successful companies to mind. What it doesn't mention is the number of companies that have failed as a result of not taking the money in fear of giving up equity. Ultimately, if you don't have the money to keep your company afloat, everyone fails. If your company will fail without it, does giving up a little extra equity in order to make it succeed seem so bad?

</comment><comment><USER8> Ownership isn't the important thing, it's the only thing - Felix Denis</comment>


Implicit Classes in Scala: The Machinery Behind the Semantics (+ Compiler Magic) - <AUTHOR> https://www.youtube.com/watch?v=dNyoPOyhYpg <comment><AUTHOR> How does scalac compile implicit classes? Where does the implicit class get de-sugared and how is the implicit method represented inside the compiler? How does scalac search for a matching implicit method? Learn about the machinery behind the language semantics - the phases: parser, namer, typer and the data structures: Compilation Unit, Context, Tree, Symbol, Scope - by jumping into the code.</comment>


Show HN: Mummify – Preserve web content, fight link rot - <AUTHOR> https://www.mummify.it <comment><USER2> Its worth mentioning the [http://archiveteam.org/](http://archiveteam.org/) which does a lot of important web archival work.

They use the Web ARChive format (WARC [http://fileformats.archiveteam.org/wiki/WARC](http://fileformats.archiveteam.org/wiki/WARC) ) which I hope mummify and other such services will standardize on.

</comment><comment><USER3> The approach is nice, the problem being solved is real. Hopefully paying customers will flock in.

The question: is mummify.it itself going to go under some day?

So I'll wait for an open-source analog of this service, to run on my own tiny server. (Or carve some time to write it myself, of course.)

<comment><USER4> There already is an open source analog:

[http://www.archiveteam.org/index.php?title=Wget_with_WARC_ou...](http://www.archiveteam.org/index.php?title=Wget_with_WARC_output) \+ [http://archive.org/web/web.php](http://archive.org/web/web.php)

<comment><USER3> Wget is definitely a good start. What's needed is a shiny and usable UI, ways to catalog / tag / search inside your saved data, and a painless installation process. This could use come work.

<comment><USER5> I think Evernote was also intended to solve this. Unfortunately, it is also proprietary. So, there is definitely demand for this.

</comment></comment></comment></comment><comment><USER6> How is Mummify going to get around the copyright implications of ripping off the now removed piece of content which they don't own?

Also wondering: what happens if the publisher redirects the old URL to a new place -- maybe an "update"... or maybe a useless hub page?

</comment><comment><USER7> Weird pricing plan. At even the most expensive plan (of 15$/mo) only 50 'mummies' a month. Seems like an arbitrarily low number

<comment><USER8> There are free alternatives, like Peeep.us [1] and Archive.is.

[1]: [http://www.peeep.us/](http://www.peeep.us/)

[2]: [http://archive.is/](http://archive.is/)

<comment> alok-g From Peeep FAQ:

How long will Peeep keep my data?

Virtually forever. Nevertheless, we retain a right to remove content which has not been accessed for a month.

<comment><USER9> Trust us to save your content, except for the stuff that is least likely to be saved anywhere else.

</comment></comment></comment></comment><comment><USER10> I don't get the number of free/paid mummifications? Seems very low, space or bandwidth are abundant.

I think, and with respect to original developer, this is more a feature then an app and probably would help if it would be developed further to target more specific problem/group.

Having said that, I wish you best.

</comment><comment><USER11> The OP depends upon Javascript for any and all content delivery/rendition. Given the topic at hand, I find this more than a bit ironic.

I gather from the comments that this is some sort of online storage of a copy. That may serve some use cases over the short term.

If you really want to avoid loss or "link rot", maintain your own copy on your own equipment.

I've been around to observe everything from personal interest changes, death, corporate policy changes, ownership transfers, deliberate manipulation... etc. -- you get the idea -- effect the ability to pull even what were formerly considered very stable and long-standing, aka "permanent", resources.

If you want to ensure you have access, save your own copy onto hardware that you own. End of story.

</comment><comment><USER12> 50 mummies per month for the highest plan is way way way too low. It should 10,000 or even 50,000. Think about it this way: the people who are willing to pay you for this type of service are probably huge publishers who would use this service to share their URLs to their followers in Twitter, Facebook, etc.

<comment><USER13> Doesn't help them much if a huge publisher is paying them $15 a month. That type of sale would require a SLA too, they really just need a contact email address.

<comment><USER12> Oh the price should increase too. Right now OP is targeting a imaginary customer. Who would pay $15 a month just for 50 mummies?

</comment></comment></comment><comment><USER14> and if Mummify goes down...

Would it be a better option if the "permanents" were shared across p2p/bittorrent and every unique item had at least 10 shares distributed across the globe, maybe a max of 20. When one share host goes down, it just picks up a replacement.

</comment><comment><USER15> Just to second what donpdonp said ([https://news.ycombinator.com/item?id=6509604](https://news.ycombinator.com/item?id=6509604)), I think a service like this needs to offer a standard format WARC ([http://archive-access.sourceforge.net/warc/](http://archive- access.sourceforge.net/warc/)) download.

The whole point of a service like this is long-term access and that really requires a data checkout option which can be used with other tools (e.g. [https://github.com/alard/warc-proxy](https://github.com/alard/warc-proxy)).

</comment><comment><USER16> I use Safari web archives for a similar task.

But I wonder...isn't it safe to assume that, eventually, browser rendering engines* will change to the degree that something I saved 4+ years ago is essentially unreadable?

And doesn't that same potential problem apply to a hosted service as well?

*I'm using that vague term to describe everything I don't understand about how browsers render pages, markup, and javascript, which is a lot.

<comment><USER17> I agree. I think the safest bet would be to keep a static image as well. Without a static image would will always question if the rendering engine has even slightly changed the look.

<comment><USER18> Maybe save as a PDF if it's the content you're most interested in.

<comment><USER16> I save screenshots for that, but when I save an archive it's usually b/c I'm interested in referencing non-static elements. Like animation, transition, responsive behavior, etc.

</comment></comment></comment></comment><comment><USER19> Interesting in light of this discussion: [https://news.ycombinator.com/item?id=6504331](https://news.ycombinator.com/item?id=6504331)

But to trust that something like this to make a _permanent_ copy of stuff I'm linking to, I'd need to know a bit more about them. Else this is effectively like using a link shortener -- a single point of failure.

<comment><AUTHOR> Hey creator here, we realize there is a bit of a trust issue, thats why we have the paid plans. Our costs are low enough that, even if you were our only paying customer left we would be able to keep the service running just for you.

<comment> alok-g What Web services are you using in the back-end (that may potentially shut down)? I need my data accessible for low number of decades.

</comment></comment></comment><comment><USER20> I have been using the Scrapbook add-on (see screenshots and manual here : [1]) in Firefox [2] for many years for this; it saves the web page to your local hard disk, and there are several types of annotations that you can perform on the saved page. One trick I use is to first run Readability on the page to get a clean version, and then save that to Scrapbook. With full-text and comments- only-search, this add-on, all by itself, kept me with Firefox even during the dark period when Chrome came in and thrashed Firefox on performance :-)

I used to use diigo.com, which does the job quite well, too, before I discovered Scrapbook.

[1] [http://amb.vis.ne.jp/mozilla/scrapbook/](http://amb.vis.ne.jp/mozilla/scrapbook/) [2] [https://addons.mozilla.org/En- us/firefox/addon/scrapbook/](https://addons.mozilla.org/En- us/firefox/addon/scrapbook/)

</comment><comment><USER21> I use evernote premium ($45/year) which is much cheaper and includes a tonne of extra features.

Compare this to the pricing plan of mummify at $15/month pricing or $180/year. for that price I could buy a pair of HD with several terabytes of capacity and copy/paste the whole webpage, code, files and all using httrack.

</comment><comment><USER22> One point to note is that a DMCA takedown targeted at Mummify.it will remove the content just as it would from the nytimes.com.

If I manually save that content to disk then any DMCA take down doesn't affect the content stored on my local hard disk.

<comment><USER4> If it's something personal, I use [http://archive.is](http://archive.is) with their bookmarklet in Chrome (free; unlimited archiving). It immediately renders the page, saves a copy with a unique url, and gives me a .zip link to download the archive.

If it's something I want to submit to the Internet Archive, I use wget with WARC extensions ([http://www.archiveteam.org/index.php?title=Wget_with_WARC_ou...](http://www.archiveteam.org/index.php?title=Wget_with_WARC_output)), submit the archive to the IA and notify them it needs to be merged in, and keep the .tar.gz archive.

Eventually I'll webapp/one-click the whole thing, with an archive to S3 and/or Glacier.

Disclaimer: archiveteam participant

<comment><USER23> +1

</comment></comment></comment><comment><USER24> Most of the time, one will not know which pages one links to will disappear in the future. This service therefore only seems really useful if you use it with every link you make. That would make the biggest plan short on "mummies" by a couple of orders of magnitude, at least.

<comment><USER25> Not every page one visits is worth storing. The whole point is to filter out (and save) the good from the rest.

An aside: Mummify needs browser plugins for all the major browser to make saving as seamless as possible.

<comment><USER24> > Not every page one visits is worth storing. The whole point is to filter out > (and save) the good from the rest.

If this is a tool to "fight link rot", then we're not talking about every page one visits, we're talking about every page one links to. Presumably, every page worth linking to is also worth saving.

</comment></comment></comment><comment><USER26> Really like this, nice work. Is there a way to automatically mummify every link on an entire website or directory? Your method/service could be an interesting, easy to use way to recall a read-only version of a site after it goes down.

</comment><comment><USER27> Do you rip video on the page too? If so, I would definitely use this service. I've got videos with my company brand a bit everywhere and I can't find a good way to download it or link to it so that it stay there permanently.

</comment><comment><USER28> Just a thought: the "Link Rot" link should really be a Mummified link. I know Wikipedia isn't disappearing any time soon, but it just seemed silly to me not to "realise" the use case!

Anyway, very sexy site design IMO.

</comment><comment><USER29> This is pretty cool, I'd be happy with a service that mummified it to storage I control, since I've had pages that I've pointed to at archive.org vanish after the current robots.txt was changed.

</comment><comment><USER30> The examples of the page don't work. Would be nice that they have some working examples right at hand to see how the redirecting or the mirroring work on each case.

</comment><comment><USER31> Your logo looks like a dog with a boner. Cool concept though.

<comment><USER32> Thanks. Fedex and Tom Cruise's center tooth.....

<comment><USER31> Ha! I didn't realize the Tom Cruise Tooth one until this: [http://www.buzzfeed.com/lyapalater/you-may-never-be-able- to-...](http://www.buzzfeed.com/lyapalater/you-may-never-be-able-to-look-at- tom-cruise-the-same-way-aga)

</comment></comment></comment><comment><USER33> Let's centralise the interwebs!

It seems like a bad idea, but they do have a point. Maybe when referencing a link also make a small note to one of these archive sites?

</comment><comment><USER34> Maybe also offer a callback with the contents of the cached site, so developers can handle 404 redirects themselves.

</comment><comment><USER35> Things like this should be required when posting links in Stack Overflow and the like.

<comment><USER4> Rant: I absolutely hate when someone posts an answer in Stack Overflow and it points to their blog, which then stops working at some point. What if Wikipedia was just a collection of links to blogs or other datasources (citations aside). Put your damn answers in Stack Overflow people!

</comment></comment><comment><USER36> do you get 10 additional mummies per month? Assuming this site stayed open could be a great help to sites like stackoverflow.

</comment><comment><USER37> What about SEO?

<comment><USER38> A 301 redirect should pass link juice fine.

</comment></comment><comment><USER25> This is an example of how great branding can help explain a product. Love the name, love the look, the copy is clever... but I don't like the low number of mummifications you get per plan.

I suggest adding more value or lowering the monthly price.

Overall, very cool.

</comment><comment><USER39> First I had to make an account.

Then it doesnt work. Stuck at "caching page".

I hate you.

<comment><AUTHOR> Sorry you are having trouble with it. Sometimes the caches take a bit to generate. Please feel free to shoot us an email at email@example.com if your problem persists.

<comment><USER40> FYI, for those of us with Firefox's NoScript extension your site is completely broken. Nothing loads, it is just a blank page with a list of scripts you intend to run.

I wasn't curious enough about your service to whitelist your site, but I will leave a comment asking that you consider providing alternate content.

It is rare to have a site completely fail to load, even with all scripts blocked (though I accept I will have reduced functionality).

<comment><USER41> You're running an extension that purposely disables what makes the majority of the web work. Unless you disable it, you can't really complain about sites not working correctly for you.

<comment><USER40> HTML is what makes the majority of the web work, with additional functionality (optionally) provided by scripts. When I see a blank page I wouldn't call that 'not working correctly' I would call it 'not working at all'.

Maybe we agree to disagree now, and you go on blindly trusting all websites to execute random code on your machine. I am perfectly content to have new websites look a little funny the first time I visit.

<comment><USER13> "HTML is what makes the majority of the web work" \- Yes, ten years ago.

The modern internet is javascript. The code is executing in a secure sandbox. If you can get it to do something random on your machine make sure to let Google know, they'll send you a pretty big check.

<comment><USER42> It's not just doing something funny with the machines, it's also doing funny stuff with other websites. Plenty of websites are still vulnerable to XSS and CSRF.</comment></comment></comment></comment></comment></comment></comment>


Ask HN: -book Social Networking domain name, will FB sue? - <AUTHOR>

Facebook sued Teachbook[1] in August of last year for misappropriating the distinctive "book" portion of Facebook's trademark. I don't know what the result of this was, but do Facebook really have the trademark of -book in any social networking context?<p>I want to start a site, say vegetablebook, that contains recipes but also has a social element. Should I not do this for fear of being sued?<p>[1] http://goo.gl/w9SAz <comment><USER2> There is a difference between being sued and losing a lawsuit. Anyone can file a lawsuit on shaky grounds; but defending a case is expensive, and if they sue your company, you can't represent the company yourself unless you are a lawyer. IANAL, so I'd suggest getting advice, particular on whether or not you will win.

The Teachbook vs Facebook case is still going; Teachbook filed a motion to dismiss on the grounds of venue, Facebook opposed, the matter is still at the alternative dispute resolution (ADR) stage. Facebook declined to have it heard before a magistrate judge, meaning they are probably stalling for time; they might not be confident they will win it, but want to maintain the FUD around anyone using the name for as long as possible.

There is a 9th Circuit precedent that PerfumeBay and Perfume-Bay infringes on eBay's trademarks (<http://caselaw.findlaw.com/us-9th-circuit/1050747.html>) while "Perfume Bay" does not - largely because searching for perfume e-bay or perfume ebay would bring up their site.

So under that logic, vegetablefacebook would definitely be out, but vegetablebook probably wouldn't be, especially if you could explain what it means without reference to Facebook (e.g. if it had recipes and so was like a book). You might get sued, but I think (or at least hope) you would win if you had the resources to persue the case.</comment>


Ask HN: Online version of XMind? - <AUTHOR>

I need to visualize my mind and projects but also I need to share it with my co-workers. I've worked with Xmind before, everything is good but the problem is that we can't go to draw something online with my co-workers. I mean sharing, editing and...<p>Could someone introduce an online version of XMind? <comment><USER2> I used mindomo for a while and found it pleasant enough. for some reason I never stick with mind mapping though.

<comment><AUTHOR> Ow thanks man, That's what I was looking for.</comment></comment>


GitHub is down - <AUTHOR> https://status.github.com <comment><USER2> I don't get why there is always such a need to post it here every time GH is down for 5 minutes.

<comment><USER3> Easy karma, perhaps?

</comment></comment><comment><USER4> As always, right in the middle of an AWS VPN problem and network issue that we're having. What's broken? Everything!

</comment><comment><USER5> Everyone calm down, they're back up.</comment>


The Brain Can Only Take So Much Focus - <AUTHOR> https://hbr.org/2017/05/your-brain-can-only-take-so-much-focus?utm_source=pocket&utm_medium=email&utm_campaign=pockethits <comment><USER2> The science behind "ego depletion" is at very least controversial, namely because the effect has not been reproduced in subsequent experiments.

* Wikipedia provides a good summary of replication attempts: [https://en.wikipedia.org/wiki/Ego_depletion#Reproducibility_...](https://en.wikipedia.org/wiki/Ego_depletion#Reproducibility_controversy_and_conflicting_meta_analyses)

* Slate covered the topic here: [http://www.slate.com/articles/health_and_science/cover_story...](http://www.slate.com/articles/health_and_science/cover_story/2016/03/ego_depletion_an_influential_theory_in_psychology_may_have_just_been_debunked.html)

* And here is a recent, large replication study: [http://journals.sagepub.com/doi/full/10.1177/174569161665287...](http://journals.sagepub.com/doi/full/10.1177/1745691616652873)

As a result, I would hesitate before using "ego depletion" as an excuse for rationalizing a lack of self-control (eg. giving into "cheat foods" or being irritable/impulsive). Whether or not "ego depletion" is real, science has not yet adequately validated the theory.

Moreover, there is a risk to accepting the theory as true: because one believes in "ego depletion," one can rationalize a lower degree of self- control, which may have been higher otherwise. This creates a self-fulfilling prophecy.

I think it is fair to assume that, given the current research, "ego depletion" is no more than a reasonable hypothesis. It is possible that willpower may not fit the "finite resource" model at all.

<comment><USER3> I completely agree and I've taken issue with this as well. This is something that is hugely susceptible to confirmation bias for the exact reason you stated: mere exposure to the concept will allow people to rationalize performing the behavior even if they wouldn't before.

Not only that, but think of all the cultures/jobs where it is normal for people to work much more than the typical 40 hour work week we are accustomed to. Do 18 year old Vietnamese fishermen working 80 hour weeks suffer from "ego depletion" the same way 18 year old college students do in the US? Probably not. It may be an element of our culture / upbringing that we put more emphasis on leisure, and not some psychological or neurological "need".

<comment><USER4> I think you bring up a good example. I think a typical contract web developer in a western country is much more at risk for ego depletion then the Vietnamese fisherman example.

One of the factors of ego depletion is decision fatigue. If the fisherman does not fish that day, he and his offspring go hungry, and if that decision is repeated they will starve to death. So not really a decision, not one that a rational being would make. If the web developer goofs off on reddit today, instead of looking for new contracting work he won't go hungy.. He can probably coast for a little bit.. Actually, he could potentially just go on welfare, but then he'd have to live in a worse part of town. If he moved in with friends he could work less hours a week and have more leisure time, etc. Lots of choices to make.

Novelty is another ego depleter. The fisherman has done it day-in-day-out for years, probably his father and grandfather as well. It's muscle memory and he's on autopilot. The web developer is constantly novelty fatigued, learning new clients' environments and the latest web framework fads which change month by month. His day has no routine.

As a contractor it is much more difficult for me, and probably I'm the most lazy and restless after coming off a project, with a decent balance in the bank. I am much more focused and mentally sure when the bank balance is low and I'm chasing down business because if I don't find something it'll get uncomfortable quick.

Contrast that to when I was in the gulf of Papagayo, miles from shore, on a small sailboat in the middle of a storm. There was no ego depletion. I never thought 'well, should I continue battling the sea to keep this boat afloat and going to my destination?' There's no ego there, only survival.

Does the Vietnamese fisherman have the harder life by most metrics? Absolutely. However there are downsides to the modern western world.

<comment><USER5> Despite low pay and poor working conditions, workers in fishing, agriculture and forestry report exceptionally high levels of job satisfaction.

[https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation](https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation)

<comment><USER6> it seems to me that for people in modernised industries, the disconnect is related to the fact that we work in non-natural environments. We evolved to live in nature and now we sit in artificially lit offices pressing plastic buttons to make electronic circuits fire the way we want them to. We have to be missing quite a few innate requirements that we get from wandering through fields and forests.

<comment><USER7> Im not sure what your point is but if we follow your line of thought then we live in artificial environments as well. We use toilets too, and we dont gather food by ourselves for 95 % of us at least. Humans certainly did not evolve to live in nature but to model it to their liking.

<comment><USER6> we certainly didn't evolve to model nature to our liking - that seems to have been an emergent property of a number of traits that we evolved such as tool use, opposable thumbs, higher level reasoning and so on. Our evolutionary baggage goes back throughout Earth's history and is mostly animal. We don't live in the environment we evolved for, like a dolphin living in an aquarium. Now that's fine, we obviously have the capacity to live in modern environments, but a certain amount of exposure to nature does us a lot of good.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> There's so many things wrong in this article... They should just leave the 'take a nap' advice.

If the focusing drains energy from the mind, it's the wrong kind of focus. Real concentration (buddhists call it samadhi) doesn't come from forcing your other parts of mind to do what "you" (the small, narrative mind-process) want, but rather to unify the whole mind around single intention. This state is not only stable, it's more efficient, because there's just one thing to do rather than tens of conflicting intentions.

It's more efficient and calm than Default Network Mode, which is basically a garbage can for the mind.

You don't even have to get into buddhism, there's a lot that science already knows about eg. the flow state, which is a mini-samadhi. Also, Judson Brewer discovered that DNM is not fundamentally 'default', as it doesn't activate for long-term meditation practitioners. Such people (some of them really high functioning) report that great thoughts just come to them out of nowhere. Clinging to the thought forcefully only reinforces the illusion that 'we' are thinking it, which is not true and counterproductive, as it obstructs the dynamics of the mind. Just let the mind figure the problem out and let you know when it's done. DMN is an impostor that pretends that everything done by the various diverse mind processes is done by the narrative fiction centered around the feeling of 'I'. It's not, it's highly distributed, there's no driver and no center.

The more we think otherwise, the more force we have to put to make the mind obedient.

<comment><USER9> (Didn't read tfa)

In my experience, flow state tends to be toxic and socially harmful with time. After weeks of practicing, once you're in, there is no easy way to exit it without sleeping (in the morning you're at risk falling in there again). I discussed this effect elsewhere and it confirmed. Sometimes I forcefully retain my mind in normal mode with "expensive" focus, because further plans require to be communicable and alive. It is not "for free" to me in neither way.

Am I using it wrong? Is meditation and samadhi a better version of the flow in this regard?

<comment><USER10> Wow, I think I'm experiencing exactly the same issues. I've never successfully picked up meditating, but I do optimise for flow (home office, instrumental music at exactly my pace etc.)

I've decided to roll with the punches and just work all-day, but take more days off. That way I can just go straight from flow to bed (with a few walks throughout the day). But I'll try to make sense of the sibling comments as well. Or maybe I just need to get better at napping again (right after work - a great reset button).

If you have links to other discussions of this, please share :)

<comment><USER9> These were in .ru and pretty shallow, apart from that it was several years ago in the middle of other chat-like discussion. Idk how to search, if these threads still exist today. Guys reported that flow is inescapable for them too after some time; that it is quite depressing when you _have_ to socialize; and that it is [arguably] not so productive overall if taken objectively.

</comment></comment></comment></comment><comment><USER11> I find that I will lose and gain focus throughout the day when I have a task when I don't know what to do next. When I do have energy I will try to push past it. After awhile though I start reading HN. The amount time I will read HN depends on an ever decreasing amount of energy. After about 3-5 times of losing focus and not making progress I will spend increasingly longer on the site.

From the website I am practicing mindfulness throughout the day since I have my Apple watch (through the breath app). I think mindfulness would be good for hackers. On physical tasks you could lift weights but on mental tasks your goal is probably reducing anxiety or frustration. Or preserving flow (Podmoro supposedly does this but I could never get into it).

On the other hand if I get a good flow going and I am uninterrupted I will probably forget to check HN and I will continually work until I do get stuck even if that happens.

<comment><USER12> I found pomodoros help control the impulse to visit HN (or twitter, news, etc). If it's non-negotiable that you must chip away at your task, even if it's a case of "don't know what's next" -> do supporting tasks until it becomes clear. By the 25-minute mark I'm much more likely to continue into the next pomodoro, and if not there's no problem taking time out without guilt.

<comment><USER13> The problem I found with sticking to using Pomodoros or longer periods (90 minutes) per work is that they work for a short while. After a couple of days or max. a few weeks I plunge back into my old self.

Using self-discipline techniques help in the short term, but in the long term I find them harmful. Because after a while of dedication, I feel exhausted and kinda burnt-out.

It's true that working for the time you allocated removes guilt. It's true that setting aside a fixed amount of time for working makes you more efficient.

If I could only find a way to sustain this kind of movement. One thing I've seen working is listening to easy-listening music. After quieting down my brain, I have much more self-discipline and focus.

<comment><USER14> I find the Pomodoro technique much too confusing and detailed.

Whenever I'm in an impossible procrastinating mood (and I feel that this is what is: a mood) I put e.ggtimer.com to the minimum amount of time I really think I can put together. Usually by the timer is gone I have to reset it and keep working. If I'm really getting into a good place, I increase the time, if it seems I'm going to be done soon, I decrease it.

Reasonable expectations.

> Using self-discipline techniques help in the short term, but in the long > term I find them harmful.

This seems a case of Stockdale's Paradox: [http://ndoherty.com/stockdale- paradox/](http://ndoherty.com/stockdale-paradox/)

<comment><USER13> Thanks for the insight. Could you please elaborate on the Stockdale's Paradox.

I researched the topic but couldn't understand the connection with me finding self-discipline techniques harmful.

Should I not lose faith and try to find better ways to get my life in order?

</comment></comment></comment></comment></comment><comment><USER15> It's interesting to see research suggesting that this might be helpful, since I feel like I've stumbled on something similar. Lately I've had several instances where I've been completely stuck on a problem, so I'd stop everything and take a long hike on a trail or through some mountains. After taking a day of just literal wandering, I've found I'd be able to finally make progress on what I was working on once I pick it back up again, where I otherwise felt like I was hitting a wall. It's felt like my mind does some unconscious processing when I allow it to take a break, so it's encouraging to see some evidence to support that.

<comment><USER16> I'm not a (neuro-, or any other) scientist, but I'm suspicious of the common narrative that sleeping on the problem => unconscious background processing => solution to the problem. IMO, when you're "stuck" you're basically in a local minima that's not good enough. With computers you just restart at a random point and continue, but people are really bad at being random.

Moreover, there's the: don't think about an elephant right now => you just thought of an elephant, "problem". That is, the more you've been thinking about the problem a certain way, trying to force yourself to think differently only reinforces the original line of thought, leading back to the same local minima.

Thus, IMO the more likely mechanism that walking away from a problem and coming back to it later leads to a better solution, is more that you get a better random restart, and you have time to forget the prior line of thought, so you're more likely to think differently / explore a different branch of the search tree.

<comment><USER17> > Thus, IMO the more likely mechanism ... is more that you get a better random > restart

This doesn't explain the many times (at least in my case, for example) where a solution pops into your head _before_ you "restart." In other words, your mind seems to be working on the problem even if you're not consciously working on it / haven't consciously restarted.

<comment><USER16> I think having solutions pop in your head is still compatible with my idea, if you consider it as a kind of intrusive thought, and also take survivorship bias into account. Intrusive thoughts usually have environmental triggers, which I argue is random enough. Moreover, often when the solution pops, you're not at the same place you were before: besides going to sleep, taking a walk or jog is also common advise (arguably sleeping usually also entails changing locale, so it's really a variation). IOW, you're "reseeding" your intrusive thought RNG.

Secondly, when the solution pops, my next thought is frequently "why didn't I think of this earlier?", meaning that the solution is quite obvious in hindsight, meaning had I just approached the problem slightly differently in the beginning, I wouldn't have to search very deep. So the solution didn't pop into my conscious thought because I've been mulling it over subconsciously, but rather the intrusive thought forced the problem back into foreground, but with a slight twist, and that quickly lead me to come up with the solution on the spot.

For intrusive thoughts where that didn't happen, I simply don't remember.

TBF, I admit I'm using a lot of weasel words, but I think it's possible to make my hypothesis more rigorous. Then you can design an experiment to falsify it, but I'm too lazy, and I'll leave that to real scientists. :-P

</comment></comment></comment></comment><comment><USER18> Having discovered some of these techniques through trial and error, it is helpful to see some research backing up and expanding on keeping the creativity flowing. Positive constructive daydreaming (PCD), exercise, taking a shower, napping, and more are helpful for getting access to more inspiration than just your conscious thinking can give you.

Others have studied this, including John Cleese, as detailed in his lecture on Creativity: [https://www.youtube.com/watch?v=9EMj_CFPHYc](https://www.youtube.com/watch?v=9EMj_CFPHYc)

</comment><comment><USER19> "Focus is a matter of deciding what not to do" \--John Carmack

</comment><comment><USER20> This is basically just an advertisement for pseudoscientific nonsense by a medical doctor that should know better.

How can the Harvard Business Review publish this kind of hocum without flagging it as an advert?

</comment><comment><USER21> I can relate as I always feel very fatigued mentally after a long drive, especially if it involves a route I am not familiar with, and there is lots of stop and go traffic.

<comment><USER22> This is when I practice PCD (I think?). I'll choose a goal (like letting go of something, feeling joy, exploring my emotions, creativity, etc), a song or album I think I can make work for said goal, and then either a specific context (eg. a conflict or project) or to with the story in the song/album. I play it on my phone through an FM transmitter with voice nav on in Google maps. While listening, I'm typically constructing a music video in my head or forcing/mapping thoughts/memories/feelings onto the lyrics.

This also develops the skill of forcing analogies, which helps with keeping an open mind.

</comment></comment><comment><USER23> I'd like the authors to try Vipassana's 10 day retreats -- it's free and for ten days you meditate, don't speak, and don't use any electronic devices. Not sure if there's any more focus than that! You'll survive...and afterwards probably thrive :-D.

<comment><USER24> Vipassana meditation emphasis is not on focus. Samatha meditation purpose is solely focus.

<comment><USER25> Huh, when I did it there was a strong focus on focus. First focus on the breath, later on a general part of the body and finally on a pinpoint.

</comment></comment></comment><comment><USER26> As someone who is on the last day of a 6 day 14 hours per day straight, oh I can attest to this.

The quality of the meals I'm sending out (plating and decoration wise) is nowhere near as good as it is on Mondays.

I need more chef's :-p

</comment><comment><USER27> Can only take so much focus until what? What happens? Do I go insane? Die?

</comment><comment><USER28> In other words, rest.

</comment><comment><USER29> Is "psychological halloweenism" a thing?

</comment><comment><USER30> Don't believe a word of this. Test your own mind.

Don't make conclusions. Only ask questions and observe. This stuff cannot be explained. And it cannot be logically thought about. It must be seen and experienced.

Don't doubt what i have to say. Go check for yourself.

<comment><USER30> I should have known better.

<comment><USER31> "cannot be explained" just means you're bad at explaining, sorry.

<comment><USER30> Does it though? Has language covered all aspects of the knowable universe?</comment></comment></comment></comment>


Ask HN: Is there any programming language with a Physics-like dimensional types? - <AUTHOR> I am curious if there is a programming language with a type system that would cater to types in Physics?
For example, I could say:

  deftype distancd from double;
  deftype time from double;
  deftype speed from distance/time;
  deftype acceleration from speed/time;

  distance d = 10.5;
  time t = 1.2;
  speed s = d/t; // okay
  acceleration a = d/t/t; // okay
  acceleration b = d/t; // error
 Is there any programming language type system that supports this idea? <comment><USER2> I think this is normally done in terms of 'units of measure'. Here's how F# implements this: [https://docs.microsoft.com/en-us/dotnet/fsharp/language- refe...](https://docs.microsoft.com/en-us/dotnet/fsharp/language- reference/units-of-measure) [https://fsharpforfunandprofit.com/posts/units-of- measure/](https://fsharpforfunandprofit.com/posts/units-of-measure/)

</comment><comment><USER3> Mathematica seems to have support for units: [https://reference.wolfram.com/language/tutorial/SymbolicCalc...](https://reference.wolfram.com/language/tutorial/SymbolicCalculationsWithUnits.html)

</comment><comment><USER4> frink

or this python library : [https://github.com/katerina7479/python-units-of- measure](https://github.com/katerina7479/python-units-of-measure)</comment>