Debian Buster release date – 2019-07-06 - <AUTHOR> https://lists.debian.org/debian-devel-announce/2019/06/msg00003.html <comment><USER2> Wanna testing and indeep research into</comment>


Compiler taking input while compiling (c code) - <AUTHOR> http://blog.susam.in/2007/11/compiler-taking-input-while-compiling.html

<comment><AUTHOR> Also found this on the same site, kind of interesting at first <http://blog.susam.in/2011/06/urls-in-c.html></comment>


Ask HN: What is your experience with e-readers? Are they worth it? - non-entity So recently I've been trying to learn a lot of new things, and I'm beginning to realize just how expensive print books are. Many times I can get the same material got free in a PDF on the internet. Unfortunately I just cannot read on my phone or PC. Both are too distracting, with too much artificial light. The phone is much to small and sadly many PDFs don't have convenient bookmarks. For example, I recently wanted to read at least parts of the UEFI spec which is a 2500 page PDF. No way I can effectively read that on my phone, or even really my PC.
So I've been wondering about ereaders like the Amazon Kindle Paperwhite. They're pretty inexpensive, and have pretty good reviews, but the bad reviews are consistent (for the latest model). Screen glare, abhorrent battery life, dead pixel, buggy navigation. Many of the negative reviews also note that the "improvements" such as being waterproof or having more storage are inconsequential.
Does anyone routinely use these? Would you recommend getting one? <comment><AUTHOR> I've been using e-readers since the first Kindle came out. The are totally worth when the docs/books you read fit properly in the screen. They are normally around 6 inches (there are newer brands with bigger screens) so pdf's won't fit and you'll need to scroll both ways which sucks. There are tools like [https://www.willus.com/k2pdfopt/](https://www.willus.com/k2pdfopt/) that can format pdf documents for Kindle size. It's pretty good.

Anyway, I would say if you can get your books or documents on epub or mobi or amazon's format, then e-readers are a great option. I personally use the Oasis and the battery life and screen performance are awesome. I think the screen size is also a bit bigger than the previous versions.

</comment><comment><USER2> I have a Kobo Clara HD and it's is fabulous. It is a little tricky getting it attached to your computer to download the open source books in your collection but once you're past that it's smooth sailing. Battery life lasts for weeks if you're not using it. Very easy to resize text or change books. And not too much at around $100.

</comment><comment><USER3> I got a Lenovo tablet (TB-7104F) about 6 months ago, it's awesome. <$90 Australian. Am using the (free) app EBookDroid to read pdfs and djvus, scribble marks on the page, bookmark, write a few notes. Haven't had any problems at all.

</comment><comment><USER4> Since forever I am doing most of my readings in electronic formats.

Most of the new 300 ppi devices use the same screens, or small variations on it, so the differences are not huge in terms of screen quality.

I recently moved from a Kindle paperwhite (6") to a pocketbook inkpad 3 (8" screen) and the extra space is really a great for reading but I am not sure it's big enough for PDFs. Battery life is great, but the software seems to be more mature on Kindles, but still it's totally usable.

I could recommend to go bigger, but that comes on the expense of mobility and the price jumps sharply as you go bigger.

<comment><USER5> Is the paperwhite 6" good enough for reading PDF documents?

<comment><USER4> no it is not, think of it this way- a PDF page size and content are not dynamic, it is sized according to real physical page size so what you are trying to do is squeeze a 210 × 297 millimeters page into 122 x 91 millimeters screen, or alternatively move the page around on the screen but this is usually slow to react and cumbersome.

It can work if the PDF contains very large text, or images but for most cases its unusable.

<comment><USER5> Thank you. I'll stick to printing out my pdfs.

</comment></comment></comment></comment><comment><USER6> I can definitely recommend e-readers for regular books (it's great when travelling) but for reference / textbooks I'm not sure I could.

I have a Kindle Paperwhite from (I think) 2014 and it still holds up quite well. I recently read the Kleppmann book (Designing Data-Intensive Applications) on it and it was fine, but I would have liked the ability to scribble notes and put in physical bookmarks. From a technical perspective, everything worked quite well but I'm not sure I would want to read the UEFI spec on it.

</comment><comment><USER7> I have the latest Paperwhite Kindle. It works - but leaves much to be desired. Most of it is around me wishing the glossary was more accessible, navigation were easier. Charts and diagrams should stay visible for all their references, highlights should be easier to extract, and the DRM system is awful.

I actually wrote a post about this here:

[https://jborichevskiy.com/posts/digital- tools/](https://jborichevskiy.com/posts/digital-tools/)

</comment><comment><USER8> I love my Kindle Voyager, but I probably wouldn't use it for any books that are heavy on graphs or mathematical notation-type graphics. The formatting can get a bit weird, and sometimes it's just too small to properly fit what it needs. It is my go-to reader for fiction, however, and I wouldn't be without it. For the aforementioned more "textbook"-like material I go with my iPad Pro.

</comment><comment><USER9> I have a love/hate relationship with the Sony Digital Paper

The good

\- It's 13", so I can read/annotate full-size documents.

\- Very little eye strain.

\- Battery lasts almost a full week*

\- There's a little bit of that "magic" when using it.

Neutral

\- Syncing with computer and app is OK, nothing special.

The Bad

\- It's fragile. Chipped plastic, and dead lines of pixels a year in.

\- * Writing drains the battery faster than zooming/flipping pages. At a conference I barely lasted lasted a few hours of heavy writing.

</comment><comment><USER10> Yes, I do nearly almost my long form reading on an e-ink reader. Much easier to concentrate on than a backlit screen.

The latest generations are indeed not much of an upgrade from previous ones. But that doesn't mean they aren't better for reading than a tablet. As long as you get something high-dpi and front-lit there's not much better you can do.

</comment><comment><USER11> A little different experience by my side: I always try to have as little devices as possible. So I often buy smartphones with large (6.4+ inches) screen, to serve as e-reader (among other features). The screen technology might not be the same, but I'm quite satisfied with it.

<comment><USER12> This is not for everyone. Smart Phones are always looking for your attention to show you useless notifications and ads. So for most people it's so much easier and effective reading a physical book or Kindle.

</comment></comment><comment><USER13> I enjoy mine, I had a kobo a few years ago and when I lost it I replaced it with a kindle paperwhite 3. It would be perfect if there was a linux kindle desktop application so I can seamless read between both devices.

</comment><comment><USER14> I like it if the content is mainly textual. I have trouble reading double column papers and content with graphics.

</comment><comment><USER15> I left a Paperwhite for a Kobo Forma. Give it a look -- it's a really great device.</comment>


Curated boutique that finds the best coffee stuff you can buy on Amazon - <AUTHOR> http://cafetier.co/ <comment><USER2> This is a beta version. Please let us know your thoughts. Thinking about adding social capabilities as well.</comment>


My 2019 Mathematics a to Z: Linear Programming - <AUTHOR> https://nebusresearch.wordpress.com/2019/10/10/my-2019-mathematics-a-to-z-linear-programming/ <comment><USER2> I find the lack of pictures and/or equations in this article disappointing. There are much better explanations out there.

Linear programming didn't really "click" for me until I read Tim Roughgarden's notes:

* L7 (Intro): [http://timroughgarden.org/w16/l/l7.pdf](http://timroughgarden.org/w16/l/l7.pdf)

* L8 (Duality I): [http://timroughgarden.org/w16/l/l8.pdf](http://timroughgarden.org/w16/l/l8.pdf)

* L9 (Duality II: [http://timroughgarden.org/w16/l/l9.pdf](http://timroughgarden.org/w16/l/l9.pdf)

<comment><USER3> Thank you for sharing! Wider resource:

[http://timroughgarden.org/w16/w16.html](http://timroughgarden.org/w16/w16.html)

</comment></comment><comment><USER4> He overuses the "this is obviously true; actually that is wrong" device, but it's a pretty good explanation of LP for the layman.

</comment><comment><USER5> It would be great if the article could recommend some convenient packages for solving such problems. I've had some luck with the GNU linear programming kit, GLPK, myself.

</comment><comment><USER6> In grad school, I was lucky enough to have some especially well qualified professors of optimization including linear programming. I've applied it in business and taught it, both graduate and ugrad, in a business school. So, here I add a little to the original post:

There is no need to explain the meaning of _simplex_ or mention that polytope. The simplex algorithm just works with a _polytope_ and never makes any use of the fact that there can be simplex polotypes.

Or, to be more clear, "simplex algorithm" is the name of the algorithm, but there is no need to mention _simplex_ again.

He mentioned that the feasible region might go off the paper and seemed to suggest that that could cause a difficulty. Actually, no. Instead, a linear programming problem is _feasible_ or not. If it is feasible, then the objective function is bounded or unbounded. The simplex algorithm handles all three cases. That the feasible region is unbounded does not mean that the objective function is, and, again, even if the objective function is unbounded the simplex algorithm _handles_ that, i.e., routinely discovers that fact and reports it.

He hints at _cycling_ ; can solve that nicely with the R. Bland anti-cycling rule. That rule is easy to program and can be used in practice but is also an especially elegant way to prove that the simplex algorithm can always _work_ , that is, ends with the problem is feasible or infeasible and if feasible with an objective function bounded or unbounded and if bounded finds an optimal solution. That this situation is true means that we have just one baby step to showing the core _saddlepoint_ theorem of two-person game theory, e.g., the game paper, scissors, rock.

Some of the most interesting linear programming problems are to find the least cost way to move flow through a network where each arc has a maximum flow capacity. Here the simplex algorithm specializes in an astoundingly nice way (end up working with spanning trees). But cycling is still possible. There is an elegant, easy to program anti-cycling rule in (my TeX markup for D. Knuth's TeX)

William H.\ Cunningham and John G.\ Klincewicz, ``On Cycling in the Network Simplex Algorithm'', {\it Mathematical Programming,\/} Volume 26, pages 182-189, North Holland, 1983.\ \

Disclosure: Cunningham was one of my professors.

Why so "interesting"? Now a huge question is how to attack linear programming problems where we ask that some or all of the variable values be integers. Some well informed people regard this problem as the most important in pure and applied math and computer science. Integer linear programming was one of the examples for the importance of the computational complexity question P versus NP; to be more clear, in principle integer linear programming is in NP- complete. There are more details on this question at Clay Mathematics where P versus NP is one of their million dollar prize problems.

Well, for that network flow problem (i) if the arc flow capacities are all integers, (ii) if the problem is feasible with a bounded objective function, (iii) if we start with a feasible integer solution, then the simplex algorithm, including modified for network flows (with the spanning trees), and with an anti-cycling rule will in the simplex algorithm iterations automatically maintain a feasible integer solution and end with an optimal integer solution. In practice, this fact about integers makes a nice dent in the struggle of integer linear programming; that is, surprisingly often in practice integer linear programming problems (in principle in NP-complete) are merely just such network flow problems. Once I had that situation for a marketing resource allocation problem and another time for a NASA signal allocation problem.

The simplex algorithm can be explained nicely as just a slight tweak of standard Gauss elimination for systems of linear equations.

Indeed, the algorithm is so simple that when it ends, _terminates_ , it is easy just to read off a lot of additional, possibly valuable, information about the problem. E.g., if are mixing feed for chickens, then can learn what one more pound of corn would be worth; here we can have what some economists call _shadow prices_. For one more, it can be easy to change some of the original data, add some constraints, etc. and for surprisingly little additional work solve the problem again. Such work after the algorithm terminates is called _post-optimality_.

He didn't give any real examples; the usual first example is the _diet problem_ for mixing feed, e.g., chicken feed, to give the chickens the nutrition they need at least total cost. I happened to have written up that problem earlier this week and posted it at

[https://themusingsofthebigredcar.com/the-technology-we- dont-...](https://themusingsofthebigredcar.com/the-technology-we-dont- see/#comment-4652467083)

He gave no references. Here are some old but good references, just from my personal library with my markup for D. Knuth's TeX:

Va\v sek Chv\'atal, {\it Linear Programming,\/} ISBN 0-7167-1587-2, W.\ H.\ Freeman, New York, 1983.\ \

Mokhtar S.\ Bazaraa and John J.\ Jarvis, {\it Linear Programming and Network Flows,\/} ISBN 0-471-06015-1, John Wiley and Sons, New York, 1977.\ \

G.\ Hadley, {\it Linear Programming,\/} Addison-Wesley, Reading, MA, 1962.\ \

Dimitri P.\ Bertsekas, {\it Linear Network Optimization: Algorithms and Codes,\/} ISBN 0-262-02334-2, MIT Press, Cambridge, MA, 1991.\ \

Saul I.\ Gass, {\it Linear Programming: Methods and Applications, Third Edition,\/} McGraw-Hill, New York, 1969.\ \

In practice the simplex algorithm is astoundingly fast. An explanation for just why was by Karl-Heinz Borgwardt with more details and the reference at

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

But there are carefully constructed _pathological_ problems where the simplex algorithm is very slow. The first paper on this was likely from Klee and Minty with more details at

[https://en.wikipedia.org/wiki/Klee%E2%80%93Minty_cube](https://en.wikipedia.org/wiki/Klee%E2%80%93Minty_cube)

Disclosure: Minty was one of my professors.

Since I have mentioned integer linear programming, I should include a reference, e.g. (with my TeX markup)

George L.\ Nemhauser and Laurence A.\ Wolsey, {\it Integer and Combinatorial Optimization,\/} ISBN 0-471-35943-2, John Wiley \& Sons, Inc., New York, 1999.\ \

Disclosure: At one time Nemhauser gave me three words of advice, and that was the main direction for my Ph.D. dissertation.

Yes, my references are, like the field, old.

What the future in practice is of linear programming and related applied math I don't know.

<comment><USER7> And the three words were?

<comment><USER8> I'm guessing:

Keep it simple(x)

</comment></comment></comment><comment><USER9> Linear programming is overlooked in most programmes but it is incredibly applicable

<comment><USER10> Courses on discrete and convex optimization should be required in every CS program. I don't know why they aren't.

Most of modern ML just extends convex optimization techniques anyway.

</comment></comment><comment><USER11> It's so amazing that I can always look to HN for interesting material for learning. Just today, I made a conscious choice to "get into" Linear Programming. Coming to find this article is simply magic.</comment>


A Conservative's Road to Same-Sex Marriage Advocacy - <AUTHOR> http://www.nytimes.com/2009/08/19/us/19olson.html?pagewanted=1&_r=2&em

<comment><USER2> While I'm sure many readers at the NY Times may find the idea of a conservative advocating for same-sex marriage novel, it fits pretty squarely into the libertarian view of freedom. "Conservative" in the USA really doesn't mean what it used to any more.

<comment><USER3> Agreed. The mainstream parties today are so overloaded that I suspect noone fits their stereotypes completely. The amount of finger-pointing and name- calling attributable to this sort of misconception is unfathomable, and I think it's one of the most serious problems in American politics.</comment></comment>


Ask HN: Other than Google, is anyone using Deep Networks commercially? - <AUTHOR> I recently listened to this talk https://www.youtube.com/watch?v=Jnunp-EymJQ&amp=&feature=youtu.be
and I've been thinking a lot about large scale, modular neural networks recently and their applicability in many real world settings.
Other than Google, and maybe other FAANG Cos to a lesser extent, it seems like no company is really leveraging massive distributed systems and massive modular, mixture of expert models.
Isn't there a huge opportunity to help Fortune 500 Cos build these systems out? <comment><USER2> All over the place dude. Valve uses em for detecting cheaters in CSGO.</comment>


One Gate, Multiple Locks - <AUTHOR> https://kk.org/streetuse/one-gate-multiple-locks/ <comment><USER2> The obvious drawback is that the global security level is the security level of the weakest lock.

</comment><comment><AUTHOR> Very clean mechanical OR structure</comment>


Emacs and Common Lisp, Part 2 - <AUTHOR> http://tromey.com/blog/?p=751 <comment><USER2> "The reasonable man adapts himself to Emacs. The unreasonable man adapts Emacs to himself. Therefore all progress depends on the unreasonable man." With apologies to George Bernard Shaw.

<comment><USER3> Good one.. Laziness, hubris and impatience come to mind.

</comment></comment><comment><USER4> This is a project that I would like to see succeed. Emacs is my most important tool and the best improvement I can think for it to have is to have a better Lisp behind it. Threads, better error handling, tail-recursion, all would be _huge_ wins.

<comment><USER5> Threading in emacs would be most excellent. Or, failing that, some sort of multi-process system under the hood ala Chrome.

I _hate_ it when an inferior process locks emacs up.

<comment><USER2> Threading is actually already implemented on the "concurrency" branch. But for it to really be feasible, the code that's running in the thread needs to start using lexical scope, which is so new that not much code has adopted it yet.

</comment></comment></comment><comment><USER6> Earlier I said it would be a bad idea to rewrite Emacs in Common Lisp. But starting from a machine-translated variant is a great idea.

I'm actually more interested in seeing the elisp to cl translator, though. Elisp and cl are quite similar, but not 100% compatible. And with no unit tests, it could be hard to get right.

</comment><comment><USER7> For some reason it fascinates me that for a project promoting the strengths of Common Lisp, one would write the translator in Python.

EDIT: Apparently this is because GCC has a Python plugin API. All right, I guess if there was a CL plugin API then the author would write the translator in CL.

</comment><comment><USER8> This is really awesome. I wonder if the progress will be shared, at some point.

As much as I enjoy writing emacs lisp, scripting in common lisp would have many benefits.

</comment><comment><USER9> Is the intention to end up with all the emacs lisp code rewritten in Common Lisp? If so that may be misguided. emacs lisp is a DSL for making an extensible editor whilst Common Lisp is a general purpose programming language. There are good reasons for emacs lisp design decisions. Dynamic vs Lexical scope for example <http://www.gnu.org/software/emacs/emacs- paper.html#SEC18>

</comment><comment><USER10> Nice to see s/he's following up with the initial idea. A fork would be interesting, but quite a bit of work, especially keeping up with the current emacs C language core development. Best of luck though, I look forward to what comes out of this.

<comment><USER11> To be successful, the fork does not have to keep up with current emacs C language development; it just has to attract enough users.

</comment></comment><comment><USER12> shameless promotion:

if you are in the sf bay area & interested in lisp/smalltalk/fp and/or parallel/distributed computing please considering giving a ~5 minute educational lightning talk at the lisp meetup "revival" this saturday at the blackbox startup mansion in atherton

<http://www.meetup.com/balisp/events/48872022/> <http://balisp.org/>

_ahem_ _cough_ _cough_ ...free beer...</comment>


Show HN: Halwa - A Static Site Generator - <AUTHOR> https://github.com/mhlakhani/halwa

<comment><USER2> Good work! What advantages does this have over the popular pelican project?</comment>


Apple's Response to Epic Games Lawsuit [pdf] - <AUTHOR> https://www.courtlistener.com/recap/gov.uscourts.cand.364265/gov.uscourts.cand.364265.36.0_2.pdf <comment><USER2> IANAL and I haven't read Epic's motion (#), but reading that, I can't see any other outcome of this first round than "There's no urgency to make any statement about the actual case, so Epic's motion asking for one is dismissed" (in a text that's quite a bit longer because it has to address the points made by either side that are relevant to the decision on urgency)

#) that's a weak point, but [http://www.fosspatents.com/2020/08/epic-games- asks-district-...](http://www.fosspatents.com/2020/08/epic-games-asks- district-court-to-bar.html) agrees with what I say above.</comment>


Yike | An elegant "Like" button for your HN posts and comments - <AUTHOR> http://yike.herokuapp.com/

<comment><USER2> Wow. Elegant: Yes. GIGANTIC: also yes. Who needs a like button THIS BIG?

<comment><AUTHOR> If you're talking about Yike, thats not the actual like button :P That's just the title of the site. Once you enter an item id, you will se an actual like button.</comment></comment>


The Developer is Dead, Long Live the Developer - <AUTHOR> http://www.paperplanes.de/2014/4/17/the-developer-is-dead.html <comment><USER2> In my experience, the teams that run the best are full of generalizing specialists. So you have three people that are quite handy with the DB: One is the best of the lot, and is mostly doing DB work. The others are good at it, but they bring unique strengths in other areas. In the same way, you have a guy that is pretty strong at Unix administration, a language lawyer, some people that are big into UIs and such.

So while people will probably dedicate 80% of a week to a given kind of task, they can, and do, play multiple roles, depending on how much their specific expertise is needed that week.

For instance, I am the number one choice on UIs, but I also play support managing Postgres, because I did a whole lot of that in a past life, and we don't need a full time DBA. I am also leveling up in our scheduling system, all Akka actors.

At my previous job, the team had all the Database experience it needed, but domain knowledge was weak, so I spent much of my work working with users trying to figure out what they needed, and why they were unhappy with the product. They hired me for my UI strength, but reality said that I would be more useful doing customer facing activities half the time, so I did.

</comment><comment><USER3> The developers should know how to do ops. And vice versa.

We are moving into weird heterogeneous bugs territory. A lot of stuff that has wasted my time last year was caused by interaction of technology stacks and not by pure logical errors. Or error localized in even one package.

I had problem with premature socket close on the response with just the wrong setup for all of nginx, haproxy, slim and php 5.4 ... lets pure ops or pure dev figure that out.

<comment><USER4> The ops people you work with are also developers? That sounds great but has never been the case at anywhere I've been.

<comment><USER3> They are not developers - they have no rights to write commit and promote code but they are good enough at reading it to not be helpless when something breaks down and they need to take a peek what has changed recently in the codebase and stuff like that.

I on the other hand have no admin rights (only read access) but I know enough of out network and ops structure to be able to make an educated guess when something is behaving strange.

So if it hits the fan they could probably patch an emergency bug and I could fire up some VM instance. It is not about wearing a lot of hats, but being able quickly to put on a new one if needed.

</comment></comment></comment><comment><USER5> I argue that the shared responsibility mentality is distracting and diminishes the power of an individual. It's hard enough being a good programmer let alone one that also knows how to configure networks, firewalls, and operating systems; one who knows how to manage security policies, LDAP organization charts and ACLs, etc. I still believe that the jack-of-all-trades is a useful individual but I don't believe an entire organization should be formed around their ideals.

As in all things in life -- the truth is somewhere in the middle. If you build significantly sophisticated systems you will need specialists at some point. I don't recommend wasting their talents on getting reamed out for forgetting to configure the firewall properly.

<comment><USER6> I don't think that's what the author is arguing for. More like, "You build it, you run it" (quote via article). Instead of handing your code off to someone else to be 100% responsible for testing, for release, for production support, the author argues that it is better to have developers share responsibility in those roles. It's very similar to what I'm doing now.

We don't hand off code to be installed, we give a release plan, an installation plan, and the code. We are on call for first runs, and there's always a subject matter expert developer on call to support overnight issues if the support team needs help. If you have this responsibility, you write _more responsible code._ If I may support something overnight, I'm not going to unthoughtfully make it hard to support. We share testing and documentation responsibility as well (although documentation is an issue), so again testers and support are doing their job in a vacuum because they don't have the developer's insight to the program. In fact, devs do most of the testing. It's not always easy to write test cases for a system you didn't write or design. I've kind of always thought that it's common sense to support your own product in test/production as needed (though not the first point of contact). You wrote it, you're the expert.

Reading this article surprised me because I thought it was the same everywhere. Having no responsibility for testing or prod seems like asking for bad code. If you're _just_ writing code, you're not going to focus on what it's going to be like to support it, install it, maintain it. You'll have other, more concrete (to you) things to focus on. Coding standards may become more important. But are standards really as effective if they're not informed by / don't care about responsibility for a production product?

<comment><USER5> Perhaps it's that funny definition of "devops" blurring the lines.

I think it's perfectly reasonable for a developer to be aware of excessive memory fragmentation, leaking FD's, and anything else related to the process their program directs. It's well within my domain to debug such issues.

However the "devops" role is also pushing responsibility for configuring firewalls, LDAP ACLs, securing the OS, managing init daemons, and the entirety of the infrastructure on developers. Since it's all code now there can be more people involved and the silos can come down. "You build it, you run it," as you say.

What I'm suggesting is that for significantly sophisticated applications it won't be tenable to spread the responsibility on everyone. It's not reasonable to suggest that everyone be familiar with the implementation of a simulated- annealing algorithm in the continuous-domain constraint search solver. I think a support person would be well within reason to defer questions, bugs, and requests with that particular part to the developer responsible for it. And yet we're arguing that it's perfectly acceptable for that developer to be familiar with the intricacies of managing a data center of compute clusters? I don't know about you but I don't have an infinite amount of time on this Earth to take on such responsibilities.

I do think that there's a middle-ground to be exploited. If our expert system is ballooning in memory usage and crashing our servers it's reasonable for the developer to profile the memory usage under simulated loads and data sets and look for memory fragmentation or leaks, etc. I think it's a little too much to ask one person to also be intimately familiar with managing compute clusters, RAID failures, security policies, and package management. They, like many of us, may have a good, general idea of how it works but there exist specialists for a reason: it's hard to go beyond a certain degree of complexity without focusing. It's the reason why we work in teams!

<comment><USER6> >It's not reasonable to suggest that everyone be familiar with the implementation of a simulated-annealing algorithm in the continuous-domain constraint search solver. [...] we're arguing that it's perfectly acceptable for that developer to be familiar with the intricacies of managing a data center of compute clusters? I don't know about you but I don't have an infinite amount of time on this Earth to take on such responsibilities.

No one is arguing for that, as I said. Where in the article do you see something like that? No mention of firewalls, data centers, developers doing their own server administration. This seems to be a more important takeaway from the article:

> Ultimately, DevOps is about empathy, with everyone on your team and with > your customers.

No one is suggesting "everyone does everything" at all... you're sort of creating an argument here.

</comment></comment></comment></comment><comment><USER7> This reminds me of going back towards a 90s job title trend - the webmaster. While that applied very much for small Geocities sites, there seems to be an awful lot of overlap and even business alignment toward minimizing operations staff / budget such that today's so-called devops engineers would really have been the webmasters then and in SaaS shops we're just a team of webmasters that have deeper specialization / interest in specific areas.

Regardless, this pretty much only applies for SaaS shops I'd say. There's still software delivered the old way that's viable.

</comment><comment><USER8> I have never been in a shop where as a developer I was isolated from quality assurance or production. Fixing production issues was part of the job and insuring the fixes and original code got through QA was there too.

However I have also seen this branded as "soft skills". Something that seems to be yet another way to excuse many people for their lack of skills and reward them for doing other stuff. I have seen it used to keep really bad developers, if not reward them. It also tends to be a favorite term of those who cannot manage their team properly.

<comment><USER9> There are companies out there where there is that isolation. Especially in the financial sector. I worked as a vendor to several big banks and credit card companies. Devs were expected to write code for functionality, that's about it. If there was an issue with the production environment and it wasn't related to a deployment, it was operations' problem. For example if my app has major memory issues every 3 hours or so it was operations' responsibility to restart that app when need be and ensure it stays up and running not the devs' responsibility to fix the memory issues. This isn't always the case and often what was mentioned above were temporary solutions intended to give devs more time but there was definitely that disconnect where operations is responsible maintaining the running state of the environment and the devs were primarily concerned with writing code that works and provides the functionality it is supposed to but not concerned with making the code run well.

<comment><USER10> These are great examples and response to the parent. Just this morning I was on a call with a financial sector customer who made the statement "we don't want developers to have that information / access to that information" when referring to an operations dashboard. The silos created in corporate IT are huge, with corporate IT organizationally structured in a kind of polar opposite to the typical software venture.

</comment></comment></comment><comment><USER11> Programming these days seems to be more of an exercise in managing unexpected complexity between various components or pieces of code. Here's a few tips:

1) Unit test. 95% of your test suite should be unit tests. Objects under test should not require the entire codebase to be loaded in order to perform... ideally they depend on nothing, or just 1 or 2 things (which in turn hopefully depend on nothing, or just 1 or 2 things, ad nauseum).

2) Don't mutate passed-in arguments. In fact, mutate as little as possible.

3) Don't use objects with potentially unexpected, surprising or unknown behavior that makes it difficult to reason around the code (QUICK- what happens when you merge a ruby HashWithIndifferentAccess with a regular hash containing both similarly-named symbol and string keys?)

4) Use function objects, that have zero side effects, wherever it makes sense. (Or just use an entirely functional language.)

5) Separate components that talk to each other through I/O should use something like the circuit-breaker pattern [http://martinfowler.com/bliki/CircuitBreaker.html](http://martinfowler.com/bliki/CircuitBreaker.html)

6) Microbenchmark things. Individually, a series of tasks might all "look" fast, but when run 10000 times in a row, might expose unreasonable resource utilization.

</comment><comment><USER12> I think I'm a bit skeptical of how different the responsibilities of a 'DevOps' are different from a traditional 'Developer' in terms of actual complexity. The whole discussion seems to reduce technological change to just a little tiny part of this 'transition' to DevOps. How can you even develop a web SaaS application without having a basic knowledge of sysadmin/networking/IT/etc? In my opinion technology changed and development methodologies followed. I wish the author proposed an alternative to status quo [that would resemble the past a bit more]. Can anyone? Of course adopting PaaS and especially BaaS solutions can change it, but again, that would be a technological change rather than just a methodology thing.

</comment><comment><USER13> > Putting developers in charge of not just building an app, but also running > it in production, benefits everyone in the company, and it benefits the > developer too.

How do companies which do this keep the support workload of developers low enough so that they have time for development? It's a great idea, because as the linked interview with Wener Vogels proposes, it creates a developer that has more frequent contact with customers. I suppose eventually you have to shift resources around to start other projects, but then who supports what they're leaving? Even in large teams, eventually expertise will dwindle until you're adding new people to support an existing system.

<comment><USER14> It's about striking the right balance.

I don't really agree with the original totem-pole idea that devs can do anything QAs and ops can do. While it may be true that a good dev is capable of muddling their way through any challenge because they know how to get around the numerous blocks thrown up by technology, there are definite skills to QA and Ops that developers may be lacking and which will lead to the dev being a poor substitute.

That said, I think devs have skills which are applicable _anywhere_ in an organization. This goes back to the virtue of a programmer being laziness. Being able to see how to build systems and automate things is something that is potentially useful _everywhere_. In the cases of ops and product support, there is an especially large amount of value from having devs poking their head in from time to time to pick off easy targets for improved automation, reporting, logging, or what-have-you.

<comment><USER15> _It 's about striking the right balance._

Yes. My company has tried for a good many years to keep product development partitioned from operations. We build stuff, through it over the wall, and let the ops team deal with it. Certainly, we give support where necessary, but it tends to be grudgingly given, and we never actually track time spend doing that support. I've been pushing, along with several other developers, that we at least need some sort of rotating product support team so we can work with ops to resolve problems in the field without disrupting our own timelines. We've moving in the right direction, but there's a lot of inertia to overcome.

</comment></comment></comment><comment><USER16> I read both articles and felt they both made good points.

It is in a company's (and the industry's) best interest to pair down well-paid developers and open up more entry-level positions, however, it's in the consumer's best interest for developers to maintain high accountability and "closeness" to the product.

I don't see these approaches as mutually exclusive I see how full stack development and silos can both exist in the same environment like if the Dentist in the counterpoint article's analogy takes over the hygienist's role when the hygienist is out on vacation.

</comment><comment><USER17> It's always good to have a wide base of knowledge, and it's always good to avoid ivory-tower silos. But at the same time, it's economically inefficient to use a specialized developer to do tasks that could be done a lot cheaper by others. It's like using jet airplane to haul a tractor-trailer. Maybe you can do it, but eventually someone will exploit that inefficiency and out-compete you.

</comment><comment><USER18> Maybe this can relate to the other story in HN about building boring systems that just work... If you are in-charge of keeping the app running, maybe you wont want to mess around with cutting-edge technologies.

</comment><comment><USER19> To me, the rise of DevOps coincided with the commodization of server services, where provisioning of services could be performed by the software itself.

It's another abstraction layer, and requires new skills.

</comment><comment> tianyi-aisin > What really matters is the willingness to change, to learn a new stack when > necessary.

You've hit the nail on the head there !

</comment><comment><USER20> Had been looking for the source of that Werner quote for a while. Thanks Mathias!

</comment><comment><USER21> Elephants in the room: unfunded mandates, disparate equity, control issues, and _deadlines_.

Ideally, people should support their own work. If I build something and have complete ownership of it, I'll make sure it runs. If I'm the one who's getting the money and career progress, and I'm picking the deadlines, I'll be the "3:00 am guy". It seems fair that it should be that way.

On the other hand, if I'm asked to build someone else's idea, to their deadlines, making technical compromises that I wouldn't choose, then I'm not going to be the "3:00 am guy" for shots someone else called. Fuck that shit, life's too short. If you want that from me, either pay a consulting fee ($250+ per hour) or give me serious equity (like, founder levels). Otherwise, That's Not My Job.

Salary jobs are for the stability of pay and work (i.e. _not_ being the 3:00am Guy) and for career advancement (resume, respected titles, networking). That's what I'm paying for when I accept a salary 1/10 of what I'm worth to the business. If I'm expected to take on extra duties that don't advance my career, and not getting that stability, then I'm not getting what I paid for.

I'll gladly take the negatives of ownership if I get to partake in the positives (autonomy, self-direction, participation in the reward) but expecting me to take only the first is just unreasonable.</comment>


Git and GitHub Integration Comes to Atom - <AUTHOR> http://blog.atom.io/2017/05/16/git-and-github-integration-comes-to-atom.html <comment><USER2> This has been in the works for a long time. There's a great interview with Atom's lead maintainer, Nathan Sobo, in a Feb 2017 Changelog podcast episode where he talks about the evolution of this feature in depth. [https://changelog.com/podcast/241](https://changelog.com/podcast/241)

</comment><comment><USER3> Just today the author of the "merge-conflicts" package for Atom emphasized that his plugin is depcrecated because Atom 1.8 will have that feature included by default.

[https://github.com/smashwilson/merge- conflicts/commit/f61950...](https://github.com/smashwilson/merge- conflicts/commit/f61950a81670099fbee51c21443722afbe36041b)

[https://github.com/smashwilson/merge- conflicts/blob/master/d...](https://github.com/smashwilson/merge- conflicts/blob/master/docs/announcement.md)

<comment><USER4> Yeah, he's now a developer on Atom and worked on the GitHub package...

</comment></comment><comment><USER5> Bundling these features by default is bad for Atom. It changes Atom from an editor to an advertisement. Maybe Github dwarfs the competition but boxing them out of the editor is unnecessary. This smells like bundling IE with Windows 98.

<comment><USER6> On the other hand this will Github an incentive to keep on improving Atom. Maybe someone has finally figured out how to monetize an editor. I hope so, cause the current ecosystem of editors is a mess of half baked solutions.

<comment><USER7> Why use one of those half baked solutions when vim already exists?

<comment><USER8> I've never actually seen anyone use vim more efficiently than the average programmer can use Sublime Text or Atom with no skill and a mouse pointer. It's just too much required engagement to do things as simple as move to a specific point on the screen or uncomment/indent a bunch of lines of code. Installing plugins is tedious, tabs/buffers/windows are clunky, and memorizing key commands for plugins (like a file tree view) is _required_ before using it, not gradually learned using context menus as a crutch.

<comment><USER9> You are obviously entitled to your opinion and it might be that you've only seen people who are still learning to use vim, but to give little perspective from someone who has been using for little over two years.

Movement:

Moving around is a hassle at first, most people insist using arrows instead of hjkl, but even thous are slow and tedious. You get much more mileage from using w, e and b for jumping between words, but even thous get slow after a while and recently I've been using the f and t commands to Find and jump To places (characters) I want to. Obviously it requires some time to learn and I am by no means perfect, but I dare to say it is faster than scrolling and pointing with a mouse.

Plugins:

I don't really see how installing plugins is tedious, you just slap one of the managers into your ~/.vim/autoload (I use pathogen) and then rest you just clone to ~/.vim/bundle. Vim doesn't have build in plugin browser and one click install, like Atom does, but at least to me that is not a problem. Maybe it's because I don't use that many plugins, who knows.

Tabs/buffers:

These do take some time to get used to, but I wouldn't say they are any more clunky than your average editors tabs.

Memorizing commands:

At first it seems like insurmountable task since almost every key is a command and as you mentioned most plugins have their own commands, but truth is you don't need most of them to get started and as you use the tool (or at least thats how it was with me) you Google how to do something tedious faster and there is almost always a better method. As for the "file tree view", I don't know what that plugin is, but I can guess and I used something called NERDTree at start, but vim's build in :find command is pretty powerful at just finding what you need and now I use fzf which makes finding files even faster.

Over all I get why you might dislike vim even without trying it (since most vim users constantly push their shitty editor (and dont get me wrong vim is shit, but it's least shit editor I've yet found)), but I suggest you try using it on a side project and see if you like it, don't install any plugins at first just try reading the documentation and making changes to the config as you go along. I bet you'd be surprised how much you'd enjoy it.

<comment><USER8> I used vim for 3 years until Sublime Text came out and found I get work done much faster with it. I used the jump feature (forgot what it's called, similar to AceJump on emacs), position stacks, search commands, etc. I installed and learned NERDTree (that's the name) and a buffer management plugin, but they took hours to get used to while editing and many more hours to configure my .vimrc to be somewhat sane. ST came along, and with some plugins, I was able to migrate very smoothly and was introduced to some new editing methods, like multicursors and the wonderful Ctrl-Shift-Up/Down commands for moving lines. No more sequences of characters to perform a common task!

If ST was open source, there would be no need for a competing GUI text editor IMO.

<comment><USER9> If you feel like remembering vim's commands is a chore then it is not for you. For me they are reaction, I don't even think about chaining then together to accomplish my task.

As for plugins I do not see the need for NERDTree or buffer management. At least for me searching (:find for files and :b for buffers) works perfectly fine and I dare say better/faster than file tree navigation.

Multicursor is fun, but it can be achieved with a plugin in vim also, but I'd just make a macro for it.

Moving lines up and down can be easily done with dd and p, so I don't see the issue here either.

>competing GUI text editor

There might be your problem for me using vim with tmux makes my life so much simpler than using gVim or other GUI editors.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> I might just have to fork this and wire it up to the GitLab API...

[https://github.com/LestaD/atom- gitlab/issues/8](https://github.com/LestaD/atom-gitlab/issues/8)

<comment><USER11> For what it's worth the plugin is using GitHub's GraphQL API.

<comment><USER10> GitLab is considering GraphQL.

[https://gitlab.com/gitlab-org/gitlab- ce/issues/22753](https://gitlab.com/gitlab-org/gitlab-ce/issues/22753)

It won't have much of an impact on a fork currently. It looks like the API is barely being used.

</comment></comment></comment><comment><USER12> This looks like it's going to be neat! But why does it come bundled by default [1], instead of an optional package?

[1] [https://atom.io/packages/github](https://atom.io/packages/github)

<comment><USER13> Because Atom was created by Github I persume.

<comment><USER14> So they should ship it as a promotional tool?

<comment><USER15> You can make the argument that they want to encourage you to submit patches to the project which is on github.

It's kinda the same deal with GNU Emacs which bundles a whole bunch of stuff that is directly related to the GNU project.

Really at the end of the day it's a fork away to shipping with SVN,CVS,mercurial,gitlab or whatever.

</comment></comment></comment></comment><comment><USER16> If this means that PR comments can now be displayed in-line from the editor, I am switching from Sublime Text. I bought ST3 outright, but I'll switch in a heartbeat to display comments and feedback.

<comment><USER17> Try vscode, I think you'll be pleasantly surprised that it's in fact now leaps and bounds ahead of sublime.

<comment><USER18> Does vscode run on Linux?

<comment><USER19> Just a note. Sublime still has its niches above VSCode. Sublime still can handle much larger files, and is a lot faster overall.

That being said, I switched from Sublime to VSCode a year ago

reply Just a note. Sublime still has its niches above VSCode. Sublime still can handle much larger files, and is a lot faster overall.

That being said, I switched from Sublime to VSCode a year ago, and VSCode is far ahead of Atom when it comes to performance.

</comment></comment></comment></comment><comment><USER20> They have a more technical run down of how this works on their engineering blog: [https://githubengineering.com/integrating-git-in- atom/](https://githubengineering.com/integrating-git-in-atom/)

</comment><comment><USER21> This looks like a fantastic development, but I worry about performance. Atom is already pretty sluggish, I would rather see performance upgrades before new features. Maybe they're not correlated.

<comment><USER22> Performance has been a key focus of the last few releases. 1.17, the stable release also being released today, has a major jump: [http://blog.atom.io/2017/04/18/improving-startup- time.html](http://blog.atom.io/2017/04/18/improving-startup-time.html)

<comment><USER23> Has memory usage also been a focus? I got scared off from exploring Atom a month ago by [https://news.ycombinator.com/item?id=14141855](https://news.ycombinator.com/item?id=14141855)

<comment><USER22> I think that guy's just exaggerating, or using a buggy plugin. I'm running Atom 1.16 in Windows right now, 2 panes with ~6 tabs open and it's sitting at around 25 MB of memory. This is with vim-mode and a python autocomplete plugin running.

<comment><USER24> You must be overlooking the `Helper` processes. Running a clean install of Atom takes about 400MB memory (macOS Sierra).

</comment></comment></comment></comment></comment><comment><USER25> I just tried it out and the UX is ridiculously broken for me. Whenever I try to focus one of the Git or Github panes, the content of the panes completely vanishes, since I'm unfocusing the file the content was about.

<comment><USER26> Hey we certainly want to look into this. File an issue at [https://github.com/atom/github](https://github.com/atom/github) or send an email to firstname.lastname@example.com describing it and we will!

<comment><USER25> Done: [https://github.com/atom/github/issues/825](https://github.com/atom/github/issues/825)

<comment><USER26> The fix will be in a patch release next week. :)

[https://github.com/atom/github/pull/847](https://github.com/atom/github/pull/847)

</comment></comment></comment></comment><comment><USER27> Hopefully this eventually reaches the level of utility of Magit ([https://magit.vc](https://magit.vc)). It's what helped me get over the hump of only using 4 or 5 git commands, and bundles a ton of useful "macros" in a great interface. And of course, it's incredibly customizable because Emacs.

<comment><USER28> Magit is awesome. It's the one tool that got me using git at all.

</comment></comment><comment><USER29> As a long time (happy) user of the Git-Plus add on for Atom, I am not sure how I feel about this. Mainly because I use BitBucket for 95% of my projects. I only use GitHub very rarely for public projects that I blog about.

I hope that this won't break existing Git plugins, and won't limit Git functionality for non-Github based repos.

<comment><USER30> Even though it comes bundled by default, like everything in Atom, you can just disable it as a default package in the settings.

</comment></comment><comment><USER31> Has this been GH's eventual goal in developing this thing? Playing the long game?

<comment><USER32> The game has changed over time. They originally intended to charge for Atom. Then it became arguably the best free option, until VS Code came along.

<comment><USER33> I think a lot of us have moved from Atom/Sublime over to VS Code these days. Seems like lots more momentum and gobs of useful plugins that let me do my work.

<comment><USER31> I guess this is the IDE crowd? Us vim guys are still raising eyebrows when people say "best free option" :)

<comment><USER25> I've been a vim user for a long time. I switched to Atom despite its slowness because I finally get linter and autocomplete integrations that just work. Those have always been a pain to set up for me in vim, and when you are switching between machines all the time, that quickly becomes tiring.

I don't see a reason to stick with traditional vim for the majority of my work, since most other editors have plugins with a very good coverage of the core vim features/keybindings.

EDIT: Oh yeah, and multicurors. I just remembered that they were also a big part of reason for switching. At least at the time, every implementation of multicursors in vim was broken in a very major way for me.

<comment><USER31> Re: multicursors, that's what macros are for.

<comment><USER25> Sure, you can do most things with macros, but I prefer the interactivity of multicursors. With macros I have to carfully plan out how the macro will affect all the different instances where I let the macro run, and if something goes wrong, I have to revert it and try again. With multicursors I also have to do some trial and error, but usually much less since I can immediately see how each step influences the text at all cursor instances, and revert it in a much more granular way.

If I have to do some heavier processing for 100-1000+ lines, I still use macros, but for most cases in my day to day programming multicursors just feel better.

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> I'm not sure if a stronger focus on git/GitHub is a step into the right direction for Atom users. I'd strongly recommend to provide a choice. Why not other VCSs, why not other platforms?

We get it, Atom is GitHub's pet toy. But never assume it will be forever. Remember Sourceforge and CVS?

<comment><USER26> There's nothing stopping you from disabling this and installing one of the many quality community git packages. We even list them at the bottom of the launch site! [https://github.atom.io](https://github.atom.io)

</comment></comment><comment><USER35> I tried it, because I'm trying to convince a colleague to use markdown and git for a collaborative project. This person lives mainly in the MSword world, so I thought atom might be a good choice. In testing it, I found the git interface was simple for me, having used git for years and therefore knowing what "staged" means. However, the interface will be confusing for my colleague. It would be great if the atom folks could make a 30-second video of the workflow, a bit like Apple has done for taking photos of different types. Failing that, it will be me on the phone with my colleague, telling them what to click and when. I think the atom folks could have done this better. Maybe they should highlight the "next most likely" action at any time.

<comment><USER36> For nontechnical users Gitbook Editor is a great alternative to this. You don't have to have a gitbook.com account to use it, just dismiss it when you start the app, it also supports Asciidoc which in my mind superior to Markdown for any kind of documentation.

</comment></comment><comment><USER37> Kind of surprised the integration isn't going in the other direction. Embed the editor experience into Github and not the other way around.

</comment><comment><USER38> Why wouldn't they wait until it's in the non-beta version. I will probably forget about this by the time it's there.

</comment><comment><USER39> I can't get into Atom, the load time vs something like sublime is just too slow. Am I doing something wrong in the settings?

<comment><USER40> Load time of what? opening a file? It is instantaneous other than really large files.

<comment><USER39> Yes once the program is already open it's pretty snappy. But I like to keep my desktop clean so I close / open it fairly often and it's startup time if just not on par I've found.

<comment><USER41> RAM you're not using is a waste of money ;)

<comment><USER42> That's why I make sure to include memory leaks in every program I write :)

</comment></comment></comment></comment></comment><comment><USER43> Magit for life

<comment><USER34> darcsum for life.

</comment></comment><comment><USER44> They should really separate git and github packages.

</comment><comment><USER45> Wow. This looks amazing. I have always loved atom's UI. Now, the git and github integrations are really cool too.

</comment><comment><USER46> This is fantastic, excited to try it out.

</comment><comment><USER47> Surprised this wasn't done at the start of the birth of Atom.

</comment><comment><USER48> Atom is dead slow. It sucks. Whose bright idea was to make it in Javascript?

Sublime is around one million times faster and has most of the packages. It's a no brainer.</comment>


Closure conversion: How to compile lambda - <AUTHOR> http://matt.might.net/articles/closure-conversion/

<comment><USER2> This is a minor thing, but Matt should be commended for using a throw-away polygot as a code example:

      (lambda (x) z) ; lambda x: z # if you prefer Python

<comment><USER3> The back-and-forth between Lisp and Python was enjoyable.

I frequently put Python/Lisp versions of functions I have to write for C++ courses in the comments in the hopes of inspiring the graders to think beyond.</comment></comment>


Slack just introduced a WYSIWYG editor that you can't opt out of - <AUTHOR> Please bother them on Twitter so they implement an opt out.<p>Their handle is @SlackHQ <comment><USER2> You can opt out here: [https://cancel.fm/ripcord/](https://cancel.fm/ripcord/)

<comment><AUTHOR> Wow this is awesome thank you!

</comment></comment><comment><USER3> Ugh, I just got it in my workspaces. Folks, can we get #WYSlackIWYGate trending? [https://twitter.com/Jeff__Ward/status/1196847624285896704](https://twitter.com/Jeff__Ward/status/1196847624285896704)

</comment><comment><USER4> And this new editor breaks a lot of my messages and my own formatting. Also escaping a code block gets really hard.

</comment><comment><USER5> Heard about this and didn't upgrade. Maybe you can find the old binary until they fix it.

</comment><comment><USER6> It looks pretty nice. What's the issue exactly?

Reference: [https://slackhq.com/new-slack-features-invites-message- forma...](https://slackhq.com/new-slack-features-invites-message-formatting)

<comment><AUTHOR> Main issue is that I prefer WYSIWYW to WYSIWYG. There are many reasons why one may be preferable to another in various situations but I find that I prefer WYSIWYW for my workflows

<comment><USER6> Thanks for clarifying. I can see how that would be annoying.

</comment></comment></comment><comment><USER7> It's hidden until you click the 'A' icon. What's the major problem here? It doesn't take up any extra space and isn't visible unless you actively open the feature.

<comment><USER8> > It's hidden until you click the 'A' icon

It enabled itself by default for me. Clicking the 'Aa' does hide the extra UI elements, but doesn't disable the auto-formatting.

> It doesn't take up any extra space

It doubles the height of the input box when it's visible.

\----

I don't mind the feature (in fact, it's nice to get immediate feedback on Slack's "almost Markdown but not quite" syntax), but I can see why others _do_ mind.</comment></comment>


Ask HN: Are there any low-stress computer jobs out there? - <AUTHOR> <comment><USER2> Always have an exit plan. There's a lot less reason to be stressed about your job if there are no meaningful consequences to being let go. Having an alternate job lined up and in your hip-pocket (or at least knowing that you can easily get an alternate) helps immensely.

</comment><comment><USER3> Your best bet would be to find a job position that you're over-qualified for. You'd probably take a hit on salary but at least you could coast everyday. Alternatively, find a government gig.

<comment><USER4> My experience on the "over-qualified" bit has been the opposite. More senior roles are more flexible about hours, get more leeway to define their job description, choose sane projects, and aren't treated as badly by middle managers and over-zealous PMs.

Also, more money also reduces stress in other areas. It's fairly easy to spend money to reduce stress in your life, if you have it; on the contrary, money being tight is a major source of stress for most people, even if they don't realize it.

If someone find their current job too stressful, it's probably the company and the specific people you work with, not the level of the technical work. If so, finding a similar or slightly higher level job at another company with a better culture is probably the right move. (If I'm wrong and it really is the technical side of things that are stressing you out, then obviously this doesn't apply!)

</comment></comment><comment><USER5> You're as stressed as you allow yourself to be. You can work for a startup or a video game company and not be stressed while everyone is losing their mind. It comes down to your mindset. I ask myself, what's the worse that can happen? After many funerals, job loss ain't so scary. ... and if we die, most of the time the company carries on as if we never existed.

<comment><USER6> It can really depend on the culture of the company/team you are in. If your boss is a psychopath, stress will come no matter what.

Otherwise you are correct, stress is more self controllable.

</comment></comment><comment><USER7> I suspect that stress is "baked into the corporate cake" \- in other words, most corporations are quite toxic to mental and physical health by their very nature. A lot of the stress is caused by things like changing requirements, unrealistic deadlines and poor management - you know, the usual stuff. Something like sys admin in a University might be less stressful, but it's been a long time since I worked in academia and I left because things were changing drastically (and not for the better). If you want really low stress you might be better off outside of the software industry altogether...

<comment><USER8> Deadline driven development is leading cause of 90% of my professional stress. I would understand if deadline was due to some external factors like customer demands or security vulnerability. But I hate when I ask why such a tight deadline and the answer is well higher ups fault.

</comment></comment><comment><USER9> Apply for a job at a place like MIT Lincoln Laboratory and try to get hired into their ballistic missile defense division. Your primary responsibility will be to shit-grin back in the face of military commanders from the Pentagon while assuring them that the next round of multi-billion dollar contracts headed Raytheon's way are going to keep America safe in the event WWIII breaks out. One of my former colleagues claims it's the closest thing in corporate america to "doing gay porno" on the job.

<comment><USER10> lol!

please go on I want to hear more

please

</comment></comment><comment><USER11> Stressful for you, may not be stressful for someone else. Also, in my exp your manager, boss, lead has alot to do with the amount of stress. Also, try to not let these things stress you out.

<comment><USER12> This. It's all about what kind of boss or manager or lead you have.

When you start having phone interviews, make sure you ask the hiring manager this question:

How many people do you manage? how many people have left your team (for any reason whatsoever) in the last 12 months. This number is quite telling. Good companies and good teams don't have attrition and don't have problems keeping employees.

<comment><USER3> > Good companies and good teams don't have attrition and don't have problems > keeping employees.

Not always true. My last team was atrocious but nobody ever left because they were held all captive on their H1-B.

</comment></comment></comment><comment><USER13> Alternative perspective worth entertaining: how do I personally become strong enough to overpower work stress.

</comment><comment><USER14> Draper Laboratory in Cambridge, MA, is now posting advertisements for new employees throughout the city's bus terminals since there appears to be no end to the money that they can steal from taxpayers, regardless of how criminally negligent they are in spending it. Draper has recently started to heavily prioritize affirmative action over technical competence in its hiring decisions and internal promotions. The advantage of this for someone seeking an "easy job" is that the managers often cannot tell what is real from what is complete bullshit, including how many hours it took to complete whatever useless form of busywork that you were assigned for the week. As a case in point, the kind of junk research that Draper recently asked a Northeastern graduate student to undertake is described more fully here: [https://news.northeastern.edu/2013/02/27/a-radar-for- emotion...](https://news.northeastern.edu/2013/02/27/a-radar-for-emotion/) That's American tax dollars hard at work folks!

</comment><comment><USER15> I'm in one now. It pays about 25% less than my expectations. I came from freelancing before this, where I'd work about 4x faster to justify my rates. Now I just work half my usual pace and it's still double the average productivity.

</comment><comment><USER16> In my experience, if you are a better-than-average software engineer at Google or Facebook, and you have an average or better manager, and you don't have any ambition to get into management, the job is pretty unstressful.

</comment><comment><USER17> Government, hands-down.</comment>


Ask HN: Do I have to forfeit my options if I leave? - <AUTHOR>

Hey, I'm an early employee at a startup. Due to various delays, I've been employed for almost ten months with no equity agreement in place, but the draft ESOP is now available to myself and the other employee. I have a few concerns, about which I was hoping to get some outside opinions, specifically this section:
--- 12. Termination of Employment
(a) Subject to Section 12(b) hereof, if an Optionee's employment with the Corporation terminates for any reason other than Just Cause, any Option granted to but not exercised by such Optionee shall thereupon terminate, except that each such Option, to the extent then exercisable, may be exercised for the lesser of one (1) month from the date of termination or the balance of such Option's term. If any portion of an Option has not vested by the date of termination, that portion of the Option may not under any circumstances be exercised by the Optionee. For greater certainty, the date upon which an Option ceases to vest and be exercisable shall be determined without reference to a "notice period" or "severance period" or any other period after notice of termination or dismissal is given. If an Optionee's employment with the Corporation terminates for Just Cause, any Option granted to but not exercised by such Optionee shall thereupon terminate immediately. ---
I'm of the understanding that this plan is only a lightly customized version of some common template, but I'm just wondering how common this kind of lock-in is. I'm being paid (salary) about 40-50% below my market value, and this plan is supposed to represent the balance of my compensation.
I feel concerned that should I want (or need) to move on, I will be unable to, because of the substantial options I'd be walking away from. And yet, the contributions that I've made will continue to benefit the company after I was gone, if I left.
Should I be pushing back on this, or alternatively, insisting on a salary closer to what I could get elsewhere?
Thanks. <comment><USER2> It's just saying: If you end your relationship for any other reason than Just Cause, you have one month to exercise your options. This is pretty standard. Typically a grant like this (signed late into employment) will start vesting at the date of employment, with a typical one year cliff. If that's the case you have two months before you can exercise any options. After the 1 year cliff, if you decide to leave you can exercise any options that you've vested up to that point.

<comment><AUTHOR> Interesting. I've been told that these options will not be convertible to cash except in the case of a buyout or IPO, etc.

Should I be ensuring that these options will vest over time, rather than all at once in case of a liquidity event, etc?

<comment><USER2> Yeah, the type of shares generally given to employees are what's called common stock. Common stock can only be turned into money in a liquidity event, these days. Your common stock is not worthless, though, as each type of stock has a set of rights associated with it.

Your investors, however, and probably your founders are issued Preffered stock, which allows them to get liquidity from things other than IPO or M/A.

<comment><AUTHOR> Hmm. So, just to clarify,

"After the 1 year cliff, if you decide to leave you can exercise any options that you've vested up to that point"

If the options are not cash-convertable, is that because they haven't vested, or because they've vested and aren't preferred stock?

<comment><USER2> A share is a part of the company. You are, essentially, becoming an investor. This is why companies like Google are forced to go public: They have too many employees and investors who own parts of the company, and the SEC's threshold says: "After 500 people own a portion of your company you have to go public; being private is too much of a risk to the shareholders."

So whether you get preferred (which is usually issued shortly after the investment or founding) or common, you're unlikely to see that piece of the company be worth anything until the company sells, goes public or issues dividends. In the case of a preferred shareholder, you can also get some liquidity in the event of bankruptcy or shutting the company down.

To put it simply, when you are given options, you can exercise them by purchasing them at a very low valuation. Until those shares are worth something, you can not sell them.

<comment><AUTHOR> Right. I understand that these things are done to retain employees, so it's really not even remotely worth working at this company unless I'm committed to doing so for the 4 years until an exit. I guess the real thing to figure out at this point is whether I want to walk now, or stick around--- and that's basically just a function of whether the options offered are sufficient.

</comment></comment></comment></comment></comment></comment><comment><USER3> >but I'm just wondering how common this kind of lock-in is

This is very common. One of the primary purposes of employee stock options is to create the lock-in effect you are talking about. That is why they are sometimes called "golden handcuffs".</comment>


EU Cancels 'Final' Negotiations on EU Copyright Directive - <AUTHOR> https://www.techdirt.com/articles/20190118/11062441423/eu-cancels-final-negotiations-eu-copyright-directive-as-it-becomes-clear-there-isnt-enough-support.shtml <comment><USER3> So what I get from this is that the system works. When enough people voice their concerns the people in charge actually listen.

At least there seems to be no internet disaster as of now? I usually postpone my doomsday scenarios until they are fact . One just has to be vigilant in any new proposals that is made on this subject. And scream loudly if the lobbyists go at it again.

Eventually I hope EU completely bans organised lobbying, nothing good ever comes from pandering to special interests.

<comment><USER4> > _So what I get from this is that the system works._

This is definitely really worth repeating and something everyone should always keep in mind. It's very dangerous for educated people and experts in particular to allow apathy or over cynicism to obscure the fact that it is truly possible to lobby successfully for positive changes too.

> _I usually postpone my doomsday scenarios until they are fact._

I'm not quite sure what you mean by this? You mean you postpone your contingency plan activation, or do you mean warning people around it? But if you think it really is a doomsday scenario and you don't warn people until after it's done how do you keep it from happening in the first place?

> _Eventually I hope EU completely bans organised lobbying, nothing good ever > comes from pandering to special interests._

How would that not affect organizations like the EFF or ACLU or whatever the EU equivalents are? I know that most of the population, even if they're massively effected by the destructive effects of IP maximalism, are not actually cognizant of it at all. That makes those of us opposed to it "special interests" too doesn't it? We're trying to lobby for technocratic policy changes that will benefit us personally even if it will also benefit others too. It would likely benefit many of us commercially too, which isn't an inherently bad thing. How do you create an objective set of rules around that?

<comment><USER3> > I'm not quite sure what you mean by this? You mean you postpone your > contingency plan activation, or do you mean warning people around it? But if > you think it really is a doomsday scenario and you don't warn people until > after it's done how do you keep it from happening in the first place?

What I mean is that I don't go screaming "the internet is doomed" for months before the actual vote like I've seen many forums posts and articles claim.

However I have no issue in warning people that "if the proposal is accepted as is it would do great harm".

>How would that not affect organizations like the EFF or ACLU or whatever the EU equivalents are? I know that most of the population, even if they're massively effected by the destructive effects of IP maximalism, are not actually cognizant of it at all. That makes those of us opposed to it "special interests" too doesn't it? We're trying to lobby for technocratic policy changes that will benefit us personally even if it will also benefit others too. It would likely benefit many of us commercially too, which isn't an inherently bad thing. How do you create an objective set of rules around that?

They can still organise, spread information and argue their point. I might have been a bit broad in my strokes. There should be no organised "secret" lobbying, that is I wish all that the politicians do and talk about in their official capacities should be recorded and open. This includes internal party meetings, lobbyist meetings etc. It is very hard to create this objectively but the end-game for me is to get back-door politics out in the open.

I once read a book by L.E. Modesitt Jr names "Haze" which has a system that I actually find very appealing. It's a bit much to recap it here but if one likes to explore different systems this is a good one imho.

<comment><USER5> > _What I mean is that I don 't go screaming "the internet is doomed" for > months before the actual vote like I've seen many forums posts and articles > claim._

The only reason this didn't pass is because people screamed at the tops of their lungs.

<comment><USER6> Yeah, the way I see it if the system only works because there was a bunch of hyperbolic alarmism to balance out the awful impulse of industry-aligned legislators, the system wasn't actually working that well. It may be functioning, but the fact that this battle will get harder and harder to fight every time it happens (which could be eternal) means that's not really something that works well.

<comment><USER7> Right, this result doesn't mean the system works, it means that the big red EMERGENCY STOP button works, as long as everyone screams loud enough.

We'll see if the system itself works if the next time the industry makes a push for stupid legislation like this and the politicians push back because they know their constituents don't want it from the last time. How confident are you that this will happen?

</comment></comment></comment></comment></comment></comment><comment><USER8> Julia Reda (Pirate Party MEP) did a great job protecting our freedoms. I hope she gets reelected.

<comment><USER9> This is what I hate about the European Union. Since I am from another (member) country, I can't vote for her. Makes zero sense, her voice represents me more (as in actual votes she can lobby - due to her country being bigger and thus her party obtaining more mandates for the same result) than any party from my country does.

<comment><USER10> Hah, I think you're getting downvotes because people think by "other country" you mean US and so on, and assume you expect Americans to be able to vote on EU politicians :)

Being from Poland, my first thought was "well, of course someone from outside EU cannot vote", and then realised you mean "from another EU country".

<comment><USER9> You're right, but well, it's not a federation (yet)... ;-)

<comment><USER11> Even if it was, that doesn't guarantee it. In the US, you also can't vote for a candidate running in another state.

It's stupid, but not every democratic system uses proportional representation.

</comment></comment></comment></comment></comment><comment><USER12> It seems to me that the EU has been surprisingly good in terms of internet literacy and laws (though this is probably not the end of the Article 11 or 13).

In view of recent leaks, I have filed a number of request for account deletion, given to me by GDPR, and all of them have been completed. This is pretty amazing in my mind.

<comment><USER13> Have you ever tried having your accounts deleted before the GDPR roll-out? Because I have, and no company ever said no.

<comment><USER14> There's a big difference between "delete my account" and "delete all information you have on me". From people I've spoken to, there have been a lot of companies implementing the latter in order to be compliant.

</comment></comment></comment><comment><USER15> I am glad cooler heads were able to prevail, and I'm heartened at the long list of countries that voted NO.

</comment><comment><USER16> Some of the comments here are a little too optimistic, although this is a victory.

The fight is not over yet. The directive needs to be written, and ideally in a way that prevents this from being brought back to the table again.

</comment><comment><USER17> Im glad to see now support was found for 11/13, but Im afraid they'll poke their nasty heads in the near future. Now if we could only get GDPR trimmed down to half its current size and remove all the ambiguities I'd be thrilled.

<comment><USER5> Add a minimum threshold of company size, revenue, and data amount to GDPR. This would get rid of the biggest problems with it. In practice it already works that way.

<comment><USER18> And then the big players will use Hollywood accounting but for data - make a bunch of small companies with little revenue that handle the actual data and "sell" those services to the mothership.

The whole point of using revenue-based fines was to avoid such tricks, and you want to add them back in?

<comment><USER5> The fine says "$20 million or 4% global revenue, whichever is _greater_ ". That definitely penalizes small companies more.

> _And then the big players will use Hollywood accounting but for data - <USER2> > a bunch of small companies with little revenue that handle the actual data > and "sell" those services to the mothership._

This is why there would be a threshold on data itself. Come on, a guy running a forum with 100 users from his basement shouldn't be expected to legally have as much responsibility as somebody running a website that has revenue in the millions. It just discourages start ups and hobby developers, because nobody wants to open themselves up to "denial of service attacks" where people get the DPA to audit you because they didn't like what you had to say on Twitter. Just don't run the small site and there is no risk of that.

But I guess Europe is already so weak in the web industry that it might be irrelevant. We're going to rely on American websites anyway.</comment></comment></comment></comment>


Fossil Resembling a Cactus Walking On 20 Legs Found In China - <AUTHOR> http://www.npr.org/blogs/krulwich/2011/03/01/134138005/cactus-walking-on-20-legs-found-in-china?sc=fb&cc=fp

<comment><USER2> Sigh. This article is a little too mystical about the Cambrian Explosion for my taste. "[W]hen life, for no obvious reason, burst into a crazy display of weird new fantastic forms"—this sort of thing happens when evolution comes across a new trick, like triploblasty, or skeletons, or ecommerce. Suddenly new species appear that use the new trick; and the first players will be much more varied than the later ones, since the later ones will all be descended from the species that won out in the first round.

(My layman's hypothesis is that the Cambrian Explosion is an illusion: there was a lot of diversity before, but it was all soft-bodied species that don't fossilize. Then some unicellular life form evolved that made use of calcium, perhaps as a shell to resist predators. It wasn't a perfect defense, so the predators managed to eat _some_ of them, which got calcium into the food chain. This triggered an arms race, as predators evolved weapons, and prey evolved shells and skeletons. Suddenly all the existing lineages were evolving into species that could appear in the fossil record.)

Edit: here's a Wikipedia article that says I'm not the first to think of this: [https://secure.wikimedia.org/wikipedia/en/wiki/Small_shelly_...](https://secure.wikimedia.org/wikipedia/en/wiki/Small_shelly_fauna)

</comment><comment><USER3> Lots of body forms Did survive to the present day. We usually think of mammals when we say "animal" which are all similar. But consider worms, bugs (legs AND wings), nematodes, sponges, spiders (legs And mouth parts), octopi, fish, seahorses.

</comment><comment><USER4> Are they really deciding function by form?

I honestly can't tell how the plant/animal moves from a static picture, and even if its an animal, it could be a stationary animal. IE. Coral, sponge, things of that nature.

<comment><USER5> What about starfish and sea urchins?

</comment></comment><comment><USER6> Great pictures of other lobopodians too!

We have a sculpture of Hallucigenia in our living room, a survivor of a Burning Man art exhibit :-)

</comment><comment><USER7> The paper is:

Jianni Liu, _et al_ (2011) An armoured Cambrian lobopodian from China with arthropod-like appendages. _Nature_ 470(7335): 526-530 (doi: 10.1038/nature09704)

[http://www.nature.com/nature/journal/v470/n7335/full/nature0...](http://www.nature.com/nature/journal/v470/n7335/full/nature09704.html)

</comment><comment><USER2> Interesting details at Wikipedia, along with some links to other Lobopodia:

<https://secure.wikimedia.org/wikipedia/en/wiki/Diania>

</comment><comment><USER8> That sounds like something out of H.P. Lovecraft. Maybe the old ones are real.</comment>


Stories and Tips: 50+ Interviews with Facebook, Twitter, Amazon and Others - <AUTHOR> http://blog.robertelder.org/50-interviews-with-facebook-twitter-amazon-others/ <comment><AUTHOR> Hi, I'm the author. If any of you have experience interviewing candidates for software positions, and you disagree with any of the advice I've provided in this post, I would be happy to hear it.

</comment><comment><USER2> I like that this post was honest enough with lots of failures until success. Thank you for posting this.</comment>


The Ayn Rand Institute bootstrapped its way to a PPP Loan of at least $350K - <AUTHOR> https://lithub.com/the-ayn-rand-institute-bootstrapped-its-way-to-a-ppp-loan-of-at-least-350k/ <comment><USER2> Here's what the Ayn Rand Institute has to say about the ethics of taking that PPP loan:

[https://www.youtube.com/watch?v=DUAnSjLv3Bc](https://www.youtube.com/watch?v=DUAnSjLv3Bc) (short video, just 3:59 long)

[https://newideal.aynrand.org/to-take-or-not-to- take/](https://newideal.aynrand.org/to-take-or-not-to-take/)</comment>


Design better data tables - <AUTHOR> https://medium.com/mission-log/design-better-data-tables-430a30a00d8c#.d5aplmbjn <comment><USER2> Great GIF of these concepts: [http://www.darkhorseanalytics.com/portfolio/2016/1/7/data- lo...](http://www.darkhorseanalytics.com/portfolio/2016/1/7/data-looks-better- naked-clear-off-the-table)</comment>


Show HN: ALDClock - <AUTHOR> https://github.com/andydrizen/ALDClock

<comment><USER2> Is it free to use in my commercial app?

</comment><comment><USER2> wow, thats great</comment>


Tell HN: Don't forget to actually post - <AUTHOR>

Offers are great (thanks, really), and sometimes it's more appropriate to explain with examples, or privately.
In many fields though you could get a much greater impact if you just wrote a post or even an ebook about what you know well and care about.
Application UX guidelines.
Rules for great newsletter copy.
How to create interactive visualizations with RaphaelJS.
Tools and frameworks for iOS game development.
etc.
A great (not yet another) post on any of these (example) topics will help a lot of people here on HN and elsewhere on the internet. <comment><USER2> eBook: "How to write an eBook"

</comment><comment><USER3> +1 for tools and frameworks for iOS game development.</comment>


Github caves in to Whatsapp's Legal Assault - <AUTHOR>

Github appears to have disabled access to a number of repositories in response to a DMCA takedown by Whatsapp's general counsel in February 2014. These repositories appear to contain code that allows developers to create apps that can communicate with the official whatsapp client. The biggest target of this takedown is Tarek Galak's Open Whatsapp platform. http://openwhatsapp.org/<p>Take a look at the takedown notice here - https://github.com/github/dmca/blob/master/2014-02-12-WhatsApp.md <comment><USER2> Is Github expected to take on personal liability for every repository it hosts, and provide free legal representation for their owners in court? I don't know if that's a winning business. Following the DMCA is probably a smarter move, which means taking down the repositories when a claim is filed, and restoring them 10 business days after a counternotice is filed.

Several of those counternotices were filed at the very end of last month, and the 10 business days have not yet elapsed. Github can't put them back online early unless it wants to lose the liability protection.

<comment><AUTHOR> It did sound like I was criticising Github but that wasn't what I intended. Github actually came out looking good because like Google, its done a good job posting a copy of all takedown notices. In fact, looks like Github put all the repos back online again!!

</comment></comment><comment><USER3> I guess that time was going to come eventually. Tarek Galak's Open Whatsapp was a great project for the Nokia N9 initially. A great mobile platform that had 0 support, but with a strong community (over at maemo.org) that reverse engineered WhatsApp.

<comment><AUTHOR> And they're back in business :)

</comment></comment><comment><USER4> Yeah, but that's how the DMCA works.

If these users want to challenge the takedown notice they can, and my guess is that Github would probably put the content back up and it would be up to WhatsApp to take the next step if they want to.

<comment><AUTHOR> And they did!</comment></comment>


Latest Windows update breaks stuff - <AUTHOR> https://hashnode.com/post/latest-windows-update-breaks-stuff-be-careful-cjzxuudr300059es1viudnee9 <comment><USER2> My Linux installation on my workstation is on a separate SSD with it's own bootloader. I can also start Windows from GRUB and it's configured to remember the last selection to prevent booting into the wrong OS after a security update.

I use Windows mostly for games only.

</comment><comment><USER3> I've had enough of this. I'm either going back to Windows 7 or pirating Windows 10 LTSB.</comment>


What's Wrong with This Snowflake? - <AUTHOR> https://www.npr.org/templates/story/story.php?storyId=121827582 <comment><USER3> People who draw octagonal snowflakes freak me out a little, as do people who aren't bothered by them.

It's like if someone drew a rainbow with four colors. Or a tree with square leaves. Something is wrong with them.

<comment><USER4> Octagonal snowflakes are understandable since 8 is easy to make by folding and cutting paper and results in a symmetric design. I can kind of forgive that, especially if it's done as a crafting project.

What really confuses me is the 5-sided snowflakes. I really don't understand where that comes from, and there's pretty much no basis for it in nature other than starfish, which have practically no relation to crystalline structures.

I also get annoyed at restaurants that give children 4 crayons. I understand 3 (primary colors), 6 (primary and secondary colors), and _maybe_ 4 colors if one is black, but I see red, blue, green, and yellow quite often. What happened to orange and purple/violet? Is it really that much more expensive to make two more crayons? It's like they mashed RGB with the primary colors and called it a day. So if you're making a rainbow with 4 colors, I blame restaurants that give out 4 colors of crayons.

<comment><USER5> Re: color — it's not just restaurants. Board games, card games, Google/Microsoft/other logos, etc. also use 4 colors. Why?

Opponent-process theory ([https://psyc.ucalgary.ca/PACE/VA- Lab/colourperceptionweb/the...](https://psyc.ucalgary.ca/PACE/VA- Lab/colourperceptionweb/theories.htm)) says that the eye converts the three wavelength inputs into six orthogonal axes (dark-bright, yellow-blue, red- green). From these axes we get the four primary colors: red, yellow, green, blue. Of course things are never so simple. There are various attempts to measure the perception of color ([https://www.handprint.com/HP/WCL/vismixmap.html#ncs](https://www.handprint.com/HP/WCL/vismixmap.html#ncs)), and none of them place red-yellow-green-blue exactly along the axes.

<comment><USER6> "Four primary colors" is bugging me like a 4-sided snowflake.

Can we agree:

      Additive - <USER2>
      Subtractive - RYB / CMY

I found this bit in the Wikipedia article interesting / relevant:

 _Thus for trichromats like humans, we use three (or more) primaries for most general purposes.[25] Two primaries would be unable to produce even some of the most common among the named colors. Adding a reasonable choice of the third primary can drastically increase the available gamut, while adding a fourth or fifth may increase the gamut but typically not by as much._</comment></comment></comment></comment>


How I came up with my product name - <AUTHOR> http://www.mockuptiger.com/mockuptiger-in-the-zoo <comment><USER2> Thinking up names sure can be tricky. Name trends are silly for web businesses, no doubt - word+ ster, word +r, and now word + ly.

MockupTiger actually fits a name trend I call 'adjective animal', which is very popular in the jewelry and gallery world - Sleepy Lizard Designs, Golden Swallow Jewelry, Soaring Eagle, stuff like that. I suppose there are web businesses with that sort of name, too, MailChimp for instance. It's a good combination - animals are symbolic, memorable, and having a mascot works well for many types of marketing and branding.

Just make sure nobody confuses you with my personal favorite auction site, <http://valuetiger.com/> !

<comment><AUTHOR> I forgot about mailchimp. yep that one is an animal :)

</comment></comment><comment><AUTHOR> Does anyone else find the number + word naming strategy annoying? I am referring to people naming websites similar to 37signals</comment>


Flexx – Python UI tookit based on web technology - <AUTHOR> https://github.com/zoofIO/flexx

<comment><USER2> Since it's for UI, it would be good to see some screenshots in the documentation or the README.

<comment><USER3> Second to this.

</comment></comment><comment><USER4> Reminds me of how CouchPotato works, always loved the idea. It would be neat if projects like these took advantage of Github's Electron or nw.js (optionally of course).

</comment><comment><USER5> It would be great if you could put a live example app up.

<comment><USER6> There are several linked from the readme.

</comment></comment><comment><USER7> Having a UI Framework with a 'React' component seems shortsighted.

<comment><USER8> It's 'react' as in 'reactive programming', not the JavaScript library React.

<comment><USER7> I know, that's what I think is confusing.

</comment></comment></comment><comment><USER9> UI.Hbox. would this be named after the infamous adobe flex by any chance?</comment>


Enyo Framework Cross Platform and Cross Browser UI Widgets - <AUTHOR> http://enyojs.com/samples/onyxsampler/

<comment><USER2> More information about this in the Enyo Blog:

<http://blog.enyojs.com/>

</comment><comment><USER3> Buttons do not have cursor:pointer I was actually surprised that they werent images.

<comment><USER4> (FWIW, I bet this is because Enyo was designed for WebOS, a touch-screen interface with no cursor, and is currently being adapted with high-priority to Android/iOS. It is certainly something that I bed they'd want to hear, however.)

</comment></comment><comment><USER5> Really pretty, but what about :hover effects? I know this is primarily geared toward mobile apps, but hover effects help the desktop UI a lot.

Also, a request on the slideable element: On my Touchpad you can either slide the slider or tap the "grab" area and it slides over. Could maybe a click do the same thing?

<comment><USER6> This is the very first UI release, only a month after the core framework release, so there are certainly alot of minor areas like this that can be improved. And also core widgets still to be done - Lists, Panes, etc.

Development is now in the open so you can see it progress, and you can easily fork it, make these minor adjustments, and potentially contribute back.

<comment><USER5> That's a good idea. I'd probably learn some cool tricks from the internals of the framework too. I found a few here: [http://girliemac.com/blog/2011/07/29/five-css-tricks-used- in...](http://girliemac.com/blog/2011/07/29/five-css-tricks-used-in-enyo/)

</comment></comment></comment><comment><USER7> I'm interested in this for web apps. FWIW, I tested on IE7 (broken) and IE8 (some quirks but ok)

<comment><USER8> Yeah, IE7 is not going to be supported. As you see IE8 works somewhat, and going forward IE9+ is planned for full support.

</comment></comment><comment><USER9> Is it JS only? Can I use it in a declarative way?

<comment><USER10> As I can see almost all of the buttons/check-boxes/etc are styled div elements, so it relies on JS definitely.

</comment></comment><comment><USER2> Looking good so far, will be interesting to see if they add more widgets over time.

</comment><comment><USER11> Basically this cross-browser, cross-device form-styling, am I right?

<comment><USER6> The sample shows mostly cross platform form widgets, but Enyo is larger than that. Its intended to be a javascript application framework oriented toward building apps for mobile devices and the web. Its a great compliment to things like PhoneGap/Cordova. See <http://enyojs.com/>

Enyo is essentially the application framework webOS 3 applications were written with, and its being re-written for cross platform support and has been made free and developed in the open on github.

</comment></comment><comment><USER12> Okay, I'm an idiot, would you use this as a replacement for JQuery? Can someone explain how it fits into the JS scene?

<comment><USER13> JQuery isn't designed for building applications, it's main purpose is making cross-browser interaction with the DOM easier. It has some other "utililty" type functions, like making cross-browser AJAX simpler and adding its own "each" looping construct, etc. etc. But the simple answer to your question is that this is not a replacement for jQuery.

I don't know much about Enyo, but it looks to be more of a framework for building applications, and provides things like layout management, controls, and an interesting "Component" model. I know that it was extracted from WebOS, so it may have some overlap with JQuery (i.e. by providing simpler methods of interacting with the DOM) but its goal is different.

<comment><USER14> I think he/she is referring to jQuery UI and/or jQuery Mobile. Like Enyo, those do contain user interface elements and widgets. See this for example: <http://jquerymobile.com/test/docs/forms/forms-all.html></comment></comment></comment>