SEC Charges Comscore Inc. and Former CEO with Accounting and Disclosure Fraud - <AUTHOR> https://www.sec.gov/news/press-release/2019-186 <comment><USER2> As someone who's been in the digital publishing space for a while, it still confounds me that they became the industry standard. Their technology just did not work in any capacity and it was widely known that their metrics were completely manipulated depending on whether or not publishers ponied up the 5 to 6 digit ransom that ComScore asked for every month.

<comment> 52-6F-62 Yep. Watching the editorial teams' Slack channel at work is pretty entertaining right now. "Schadenfreude" has come up at least once. If I could peer into marketing it might be a sadder scene.

</comment></comment><comment><USER3> They're stuck between a rock and a hard place. On one hand, they provide the 'objective' benchmark for the entire media industry. On the other, they have no way to actually capture the value of the data they provide, because advertisers use their data to make decisions on opaque Big Tech platforms. It's a commodity that doesn't have an equivalent exchange representation. On the surface, it might seem like a bad faith data broker. But on a deeper level, this is a canary in the programmatic ad monopoly coal mine. If we can regulate data exchange, but can't regulate data use ... we're setting a dangerous precedent.

</comment><comment><USER4> Seems like a fairly light penalty for manipulating the markets, especially not having the accept responsibility for the charges.

<comment><USER5> I just checked their stock...it's dropped almost 90% in a year. All signs show this company is spiraling toward bankruptcy.</comment></comment>


Ask HN: Does the enjoyment of programming ever increase? - <AUTHOR> So I started work as a full stack developer. I attribute part of my feelings to learning ReactJS, and just starting work for the first time as a fresh grad.
I've always appreciated programming. I appreciate what you can do with programming. But frankly, I don't think I enjoy programming. I didn't enjoy it when I was first introduced to it in undergrad, it was more of a means to an end. I've had to slowly build up to programming to an hour, hour and a half from 15 minutes through daily habits. And when I work on a project that I am want to work on, I can get captivated.
But for the work I'm doing for my employed, I just don't give a shit. It's only for the paycheck.
I don't know if this is resistance manifesting itself, but I think people get a little too liberal with the word resistance.
I guess my question is once I get in a groove at work, is it likely I'll start to enjoy it? Or is this a situation where that if I haven't been engrossed by it already, chances are it's not going to happen anytime soon?
Like I said before, certain aspects interest me. But I don't get excited about the nitty gritty details, which is so odd because I am very obsessive in other hobbies. <comment><USER2> I don't know if I'd ever use the word "enjoy" related to programming. For me, at least, programming isn't something I do, "programming" is what I am. Think of a musician. Anyone can learn to play but some people are musicians by nature. Somehow the word "enjoy" is too shallow. Some days I love it. Some days I hate it.

Some days you get nothing done. Most days you write 10 lines of (working) code. But some days you work until the sun rises (well, I work from home :-) ) and wonder where the day went.

It sounds like you took up programming for the money. That's like becoming an artist to paint factory walls.

Don't worry. By the time you turn 35 you'll either have been forced to retire into management or you'll be doing something else. To twist a saying from my youth (which was "Never trust anyone over 30")... "Never hire anyone over 30". Programming these days is a short career. Next year nobody will remember ReactJS. Enjoy it while you can.

I've been at it for nearly 45 years now and I'd rather program than eat. That said, it's not for everyone. The level of frustration can be intense. I spent yesterday chasing a "that can't happen" bug with no success. This morning I found and fixed it. Anyone can learn to program. Not everyone can handle the frustration.

</comment><comment><USER3> Scratching someone else's itch is never as satisfying as scratching your own. That being said, it's possible to derive some satisfaction working for other people, yes, particularly if what you end up working on is challenging and non-repetitive, and you're able to see the product grow and take shape over its lifetime from a crude mock-up to a (hopefully) complete product.

That being said, you might just be in a bad position and/or at a bad company, and you'll never truly feel "happy." If you give it a few months and still aren't feeling it, perhaps consider lining up your next position, possibly in a different field or working with different tools than you are now. Maybe your next one will catch on with you better than this one.

Good luck!</comment>


Omnisio Syncs Slides with Video Presentations - <AUTHOR> http://www.techcrunch.com/2008/05/13/omnisio-syncs-slides-with-video-presentations/

<comment><USER2> You guys should think about gearing alternate versions of your services towards education. I really wish there existed hubs where universities could upload their lecture videos/slides. It'd be a great service to the students, and to people who are interested in learning various subjects and want a classroom environment where professors can chime in with their advice.

<comment><USER3> I agree - that's actually what our original plan was, although we decided to target the general case first.

<comment><USER4> congrats. I wish it didn't lag my laptop as much though. Regardless, cool piece of tech. Exactly what I was looking for (plus some) and I'm sure it will improve in upcoming iterations.

Any advice: which is better quality video Blip, Google Video or YouTube? In my mind YouTube is out of the question b/c of the limited upload size. Not good for hour long+ lectures.

<comment><USER3> Unfortunately they all have different issues. Google video is good because it supports long videos, but some of their servers seem unreliable and occasionally videos fail to load. Blip is good but they don't support seeking well (i.e. you sometimes wont be able to jump ahead to unbuffered parts of the video).

Youtube is actually the most reliable, but as you mention only supports small videos. One option is to break long videos up into 10min chunks and then stitch them together on Omnisio (we support compilations of multiple videos). It's a bit of a pain I know.

We are looking into support for other video sites - I wish there was a perfect answer :)

</comment></comment></comment></comment><comment><USER5> I love this software, it's syncing with the start-up school was perfect timing.

They should be working on some deals with seminars and other conventions to get their videos online.

This is a good step forward towards open information.

</comment><comment><AUTHOR> What I like most about Omnisio (besides the Ozzie accents) is that they are tackling structured video. It's a hard problem, but creating a system that turns days worth of static conference footage into a highly navigatible (not a word) site is pretty awesome.

I wanted to mention a similar open-source project whose creator I met at SDSH 24: MetaVid.com. It's built on a semantic version of MediaWiki and structures the hell out of the Congressional video record. It's a pretty cool project.

</comment><comment><USER6> I love the way Omnisio works. I have lots of seminars I give so I'll be using this a lot in the near future.

</comment><comment><USER7> this is pretty sweet. i really wanted this when I tried watching the presentations from the Startup School. i could see this being used in higher ed for distance learning or for recording lectures. more and more schools are focusing on distance learning in the last few years because the technology is finally getting viable.

</comment><comment><USER8> Doesn't work on the Wii though (youtube/google video/iplayer all do).</comment>


FCC's document about Network Neutrality (Oct 2009) - <AUTHOR> http://hraunfoss.fcc.gov/edocs_public/attachmatch/FCC-09-93A1.pdf

<comment><AUTHOR> The relevant section:

      > Application of Nondiscrimination with Respect to Access to Content,
      > Applications, and Services, Subject to Reasonable Network Management

In particular, the FCC was _seeking comments_. Google/Verizon are proposing a way to do discriminate services running on wireless.</comment>


There's more than $10B in demand for Snap's hot IPO - <AUTHOR> http://www.businessinsider.com/theres-more-than-10-billion-in-demand-for-snaps-hot-ipo-2017-2 <comment><USER2> I am baffled. I got Facebook's IPO (and invested) but I just don't get this.</comment>


Jon Fisher: selling the company should be every entrepreneur's goal - <AUTHOR> http://www.mercurynews.com/chris-obrien/ci_20943675/obrien-jon-fisher-says-selling-and-not-ipo <comment><USER2> "Every entrepreneur should..." = bogus advice.

Every entrepreneur is different, and has different goals. Fortunately, there are lots of different things you can do with your business, so lots of people can be happy.

This is just a ridiculous attention ploy.

</comment><comment><USER3> If your goal is to make money, then sure, selling should be your goal.

If your goal is to make something that might change the world some day, then maybe it shouldn't be.

Hyperbole aside, if you really believe in what you're working on and want to see it live on, an acquisition might not be the best option. Many acquisitions lead to product deaths as the team gets integrated into the acquiring company (meebo is a recent example).

</comment><comment><USER4> I really love people who think far ahead instead of that 'getting rich' crap. I think (but i'm not 100% sure, it was Japan anyway) that the CEO of Sony said (somewhere in the 90s?); let's not think about what we do in 2 years but what we do in 2000 years. The number of years is arbitrary, but if you _truly_ believe in what your company is all about, you should be capable of thinking well beyond your own existence instead of staring at the number of 0s on your bankaccount in the coming few years.

This article is of course about SV where you need 'enormous amounts of venture capital' to survive 8 years with your company. It's probably because i'm from the EU, but I don't really understand that.

Starting and running a company organically with the goal of it continuing beyond your own life, being profitable from the get-go and giving you a fulfillment (and fulfillment of all families your company will feed during it's existence) and a solid income, pension and so on without the insane stress/working hours and very low probability of success seems like a great deal to me.

<comment><USER5> If you've done it before, you'll know that getting a high leverage (technology) company profitable, is really, really hard. This does not apply to service companies, but service companies rarely have the big impact you're talking about.

A startup is an iterative process.

If you're incredibly lucky and happen to stumble upon the exact right business model on your first try and start making a ton of money immediately, that's great. Congratulations. But the chances of that happening with a startup are vanishingly small. It's much more likely that you'll launch something, it will fail, and you get to repeat that experience a few times while iterating towards the right business model and burning way more money than you ever thought possible along the way.

If your goal is really to maximize your impact on the world without thinking about an exit strategy, you should be trying to grab as much venture capital as possible. That will help you get big and make a big impact a lot faster than slowly bootstrapping towards profitability.

And what's so bad about making your goal getting rich anyway?

<comment><USER4> A service company doesn't have a big impact? That's relative I guess. The companies i'm talking about have a bigger impact than 99.99% of SV startups, simply because all of those won't survive and won't be employing many people and supporting many families. My previous services company (in which I still have stock and which exists now for about 20 years) has 400 employees, most with families, so that's supporting roughly 1600 people. That's more than your non services startup will ever do in general. It was also profitable from the start. As is my new one; we have been paying full management fees + salaries since day 1. And mostly anyone can copy it and there still won't be enough of them in the world.

I understand product companies and such are more interesting and scalable (I find that too) to investors and to get filthy rich, but they almost never succeed. You are not going to be the next Facebook or Google or probably even Yammer. If you do, kudos to you; however, like Facebook & Google you would not actually sell your company, so not relevant for this discussion. In the case of Yammer it is; it sucks ; your lining your own pockets and the world doesn't really improve long term probably (a lot of takeovers don't end very well for the original product/people anyway).

And that brings me to your last question; there is everything wrong with your goal of 'getting rich' if that's truly your goal. That's not a very popular opinion here and apparently misunderstood; I am rich (self made) and I want to get richer (because you cannot really run a company otherwise), but it's not near my life's goals and never was and never will be. I like what I do and always did, I have a great family, we all work in the businesses we run. We take time off, we enjoy ourselves, but we like working with our colleagues on great things. The buzz of opening a new office this week is enough for me to jump out of bed every morning. I don't see how more money can change that; I could've stopped working many years ago and I don't have to worry for the rest of my life anyway. How is that interesting though? I will never stop working anyway, because I _like_ it. And I like starting up organically more than running the company, so how is a lot of money going to change that 'hobby'?

I believe that you have a different main goal in life as well, otherwise you probably wouldn't be successful, money as 'goal' doesn't usually seem to work. I probably also assume wrong that you would retire when you make that $100 million in your account (ie I don't understand the obsession with getting rich other then comfort & ease to do what you like, but you don't need that much more for that). We probably think the same more or less anyway seeing your profile on LinkedIn.

<comment><USER5> Congratulations on your success- but you must realize that a 400 person, instantly profitable service company is the exception, not the norm. The vast majority of service companies are two guys in a garage treading water and struggling to survive.

You probably won't be the next Facebook, but, generally speaking, it's a lot easier for a software company "Micro ISV" to get leverage and scale than a service company- that's why service companies don't get funded.

Thanks for the detailed response- it was a really interesting read and great perspective for me to think about.

<comment><USER4> Well, I am doing it again now and it works again. I think services companies don't get funded (in general, because they DO get funded once they get to a certain size) because they don't scale. If you invest $10 million in a service company, there is almost no chance you'll get a ROI of 1000% or even 10000%, but you actually, in my experience (but we actually might be an exception; the ONLY thing I see us doing differently from most companies on HN is that we watch the bottom line from the get-go; if there is $1 going out, there WILL be $1.3-2 coming in from the very first day we start) can expect 150-200% which is surely a better invest than most things you can invest in.

And of course, 200-10000% ROI is on that ONE company that makes it, out of N companies invested in. Again, in my experience with services, and i'm talking bars/clubs, laundry services and software services; all of which I or very good friends have experience with, there is not that much failure going on. One of my good friends opens bars/clubs ; he gets $300k investment, opens up, hires people, makes everything run and the investor gets about $1 million back after a few years. Every time, even in crisis times. Why? My friend is brilliant at this and it's definitely not 'luck'; he knows what he is doing. Accidentally I met another guy in the place I live now who I befriended who does exactly the same; different country, different rules, different times and he does EXACTLY the same; from the way he finds places, does the makeover/revamp, hires and trains people etc. I learned a lot from these guys; if you work the same way in a software company it works as well. Of course the skills are different, but the management style the same. I can honestly tell you that every services company I will start or mentor will make profit and enough profit to have a really nice life. And I know a lot more of these.

So I really think that there is a difference here :) If you want you can mail me, we can chat a bit, always interesting to meet people.</comment></comment></comment></comment></comment>


Why You Should Learn C but (Probably) Never Use It - <AUTHOR> http://www.di.unipi.it/~nids/docs/why_you_should_learn_c_but_probably_never_use_it.html

<comment><USER2> I'm currently working through the _Build Your Own Lisp_ book, and quite see exactly what the writer is on about there. I think if anything, everyone should at least go through a project like this in C if only to understand everything they've been taking for granted using higher level languages.

I wouldn't necessarily want to code C every day, I find it a bit tedious at times coding in this style, but it's a valuable experience to have.

</comment><comment><USER3> I find myself writing C backend for Erlang library every now and then. I also often resort to C to talk directly to operating system.

It's not that C won't probably be used. It probably will, unless one can't communicate with underlaying OS and doesn't want to learn that.</comment>


Mixing together: python, json-rpc and some erlangish code hot swapping - <AUTHOR> https://github.com/Alshain-Oy/Cloudsnake-Application-Server

<comment><USER2> Neat idea, I was surprised by the amount of examples included in the repo. The htpasswdFS was worth mentioning, I'm going to try that one with our dev servers.</comment>


How ANN Was Hacked - <AUTHOR> http://www.animenewsnetwork.cc/site-news/2017-08-11/how-ann-was-hacked/.120038 <comment><AUTHOR> Whoops, someone posted this already. Didn't see it because of the domain name change.</comment>


Write dumb code - <AUTHOR> https://matthewrocklin.com/blog//work/2018/01/27/write-dumb-code <comment><USER2> It is often the case that the simplest solutions require the greatest skill in achieving. Thus, I agree immensely with avoiding unnecessary complexity whenever possible, but not "We should endeavor to write code that a novice programmer can easily understand without explanation or that a maintainer can understand without significant time investment." \--- which tends to lead to extremely verbose, inefficient, and dumbed-down code.

In other words, if you only ever use the very simplest features of the language, you are effectively reducing _micro_ complexity but increasing _macro_ complexity. One of the best examples of this is the classic arguments over the use of the ternary/conditional (?:) operator --- those against say it's hard to read and should always be replaced with if/else, while those for say it simplifies the code by removing redundancy and should always be used in place of an if/else with a single assignment statement with the same LHS in both clauses.

Similarly, if you believe programmers are almost completely incapable of understanding operator precedence, or that it "makes code hard to read" and restrict expressions to only one operator (and mandate that variables be created for all intermediate results), then you will get code with all the verbosity of Asm but none of the benefits.

In other words, good code may not be immediately obvious; but your reaction when you do understand it should be one of pleasant enlightenment, and not "I can think of a simpler way to do this."

A somewhat related article: [http://typicalprogrammer.com/what-does-code- readability-mean](http://typicalprogrammer.com/what-does-code-readability- mean)

<comment><USER3> Yes definitely. If you code using a VB6 style subset of your language you'll probably end up with spaghetti. That's easy to understand at an individual procedure level but pretty hard to refactor and maintain.

<comment><USER4> > If you code using a VB6 style subset of your language you'll probably end up > with spaghetti

Unless I'm remembering incorrectly I'd say the opposite, vb6 had a pretty sane feature set comparable to "modern" languages like go and rust. Coding with that feature set will give you simple and understandable code, if a little verbose at times.

The spaghetti code it's famous for was mostly a result of the event driven, drag and drop nature of the IDE and community. If you want real spaghetti code then try vb.net which suffers from the same problem but allows devs to pile on a bunch of OO features that obscure what code is doing.

<comment><USER5> > vb6 had a pretty sane feature set comparable to "modern" languages like go

What's not sane about Go's feature set? (Except for its debatable omissions.)

<comment><USER6> I think you misread that. They said "comparable to" (equally sane), not "compared to".

</comment></comment></comment></comment></comment><comment><USER7> Apparently the author mistakes dumb for simple.

Usually dumb code is layers upon layers of needless complexity, grown because the coder had neither time nor inclination to understand the problem, and kept tweaking.

Such dumb code becomes a huge support and troubleshooting cost, letting alone quickly modifying it.

Don't write dumb code. Write simple code. The recipe is known: think about the data first, untangle and minimize dependencies (including any global state), write simple, orthogonal functions over these data. Use the language's standard library and built-in data structures. Crave for these negative line count PRs.

It takes much shorter time than working with dumb code.

<comment><USER8> If it's complex and hard to maintain, then it's not dumb code. It's genius code. Dumb code is actually very hard to write successfully in production and there isn't a recipe for it. The novice flails and makes the code too complicated trying to add one hack on top of another without doing any causal analysis, the journeyman programmer starts throwing in a lot of defensive abstraction they learned about yesterday that doesn't tame the problem at hand, and the expert writes a correct solution that is exactly what is needed and no more. As a bonus, when you enter a new problem domain you're a novice again. All that stuff you knew about working with databases is irrelevant if you're working with real-time audio. But you get to skip through the cycle faster this time.

Ergo, dumb code. It's hard to make dumb code that actually stays dumb instead of turning into genius-level complexity or bad abstraction.

<comment><USER9> That is some interesting definition of genius you put in here. Usually the criticism of so called genius code is about manual optimization and sometimes domain specific optimization and not about crust achieved over years of lacklustre maintenance.

There ate actual real reasons you shouldn't or cannot write dumb code. One piece of such "cruft" is handling numerical corner cases which is _unavoidable_ unless _proven mathematically_ to be impossible (And commented why). Using IEEE floating point? Guess you get to handle ULP precision, NaN and Inf. Using integers? Welcome to wraparound. Memory management? What happens if an allocation fails? Threads? Race freedom is quite interesting to achieve.

Using Java? Then figure out what happens when you choke GC with hundreds of objects. Etc.

You can only go so far in passing the buck to library authors, they can make mistakes too.

</comment></comment></comment><comment><USER10> _My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger._ — E. W. Dijkstra

One of my favorite quotes :-)

</comment><comment><USER11> Parallels Strunk & White's _Elements of Style._ Who knew there was so much similarity between writing code and writing prose?

Omit needless words.

Write in a way that comes easily and naturally to you, using words and phrases that come readily to hand.

It is always a good idea to reread your writing later and ruthlessly delete the excess.

Avoid the elaborate, the pretentious, the coy, and the cute. Do not be tempted by a twenty-dollar word when there is a ten-center handy, ready and able.

<comment><USER12> Which has inspired [https://leanpub.com/elementsofclojure](https://leanpub.com/elementsofclojure)

</comment></comment><comment><USER13> > Software is the currency that we pay to solve problems, which is our actual > goal. We should endeavor to build as little software as possible to solve > our problems.

Amazingly well put. I'm gonna try and not forget this so I quote it when discussing with people who love to come up with bloated, overengineered solutions.

</comment><comment><USER14> Writing dumb code is a lot more expensive up-front than writing smart code. It is like writing something in simple-to-understand prose; that costs more on write than hard-to-understand prose, but pays off when read.

So I feel like the author of this essay is talking about some costs (the reader's) without considering the cost of the writer. If the code is never read because other solutions are considered more viable, then all that cost in making it simple for not. As always:

1\. make it work.

2\. make it nice (if it works and is going to survive to code review).

3\. make it fast (if it has performance problems).

Unless you are completely on waterfall, you aren't going to be able to do 1. and 2. concurrently.

<comment><USER15> I'm not sure if it's more expensive either. The first correct algorithm I can think of, expressed in the programming equivalent of pre-K level English, usually is less buggy and 10X easier to maintain than the advanced-language- feature-filled code that certain engineers love writing. And it takes a fraction of the time to write because it doesn't require much refinement. Is it slower than finely tuned C++? Yes. Does that matter? michael-scott-NO-GOD- NO.gif

It boggles my mind when people who are just building an everyday website decide that querying models from the DB means we need a multi-level class hierarchy that requires a 5 page paper to explain. Or that anything remotely related to math means we need to start overloading operators. Congratulations! Your brain recognizes patterns! Wow, someone should make you the President of all Engineers Everywhere.

The code you're writing now will likely not survive another 2 years, especially if every time there's a bug or even a question like "how does feature X work under condition ABC?", everyone shrugs their shoulders and has to read 1000 lines of horribly nested abstractions.

<comment><USER14> > The first correct algorithm I can think of, expressed in the programming > equivalent of pre-K level English

If I can think of it, then I hope it already exists and I can just reuse it. The tricky stuff that needs a lot of thought is the same stuff that you can't just reuse off the shelf.

> It boggles my mind when people who are just building an everyday website

If it is something so routine that it doesn't need to really be designed, then I guess you can do it right the first time from memory (shame you just can't reuse some functionality if it is so routine though).

> The code you're writing now will likely not survive another 2 years

I work in research where your code is lucky to survive 2 months. I don't disagree with you, but you can't crank out perfectly simple code on the first go if the design space is clear. Those abstractions usually don't exist because the programmer was trying to be clever, they often exist because the programmer was trying to solve the problem. Its only with hindsight that we can often see a better more simple way (and hopefully have time to go back and do the simpler way).

<comment><USER16> > If I can think of it, then I hope it already exists and I can just reuse it.

There is also a cognitive load of 'using it' for simple algos and packages, like left-pad. Some end up the de facto standard of a community (Python's `requests` package), but other communities fracture (Node's SuperAgent, Axios, got, Request, reqwest, ...).

I like to think of code I write today as automatically being 'obsolete' 12 months from now. I might not replace it +12 mo, but if I _were_ to replace it, what comments, patterns, and hints might I leave my future-self to make that easier? Simpler code is easier to test and replace. Less magic code is easier to swap out with other languages. Verbose code is easier for my new team of +N engineers to digest, even if it takes twice as long to read.

</comment></comment></comment></comment><comment><USER17> It took me a little longer to understand higher order functions in JavaScript than it took me to understand for loops but once I "got it" then using something like array.filter((x)=> x%2===1) seemed cleaner and arguably "simpler" than the alternative but not "dumber."

<comment><USER18> Also, unlike the for loop alternative, it clearly expresses the intent. "I am filtering this array, using this condition". The functional programming style really shines here, and it shines even more whan you start chaining the operations.

I guess the rule of thumb is to write code to most clearly express the intent of it. Often harder said than done but a good goal to strive for.

<comment><USER19> To be fair the new arrow operator syntax is a bit cryptic. I am sure Ruby offers plenty of things like that, because when I look at Ruby codebases I often don't understand what they intend to achieve.

</comment></comment></comment><comment><USER20> > _The best way you can contribute to an open source project is to remove > lines of code from it._

Deleting code doesn't necessarily mean you're making it simpler. Compressing a 5 line function into a snazzy 1-liner is almost certainly making the code worse, not better.

> _Every line that you write costs people time._

This kind of mantra is how you end up with nested ternary expressions and tightly wound functional compositions in imperative languages.

<comment><USER21> I don't think he meant compressing 5 lines of "normal code" into a one-liner. He meant, actually removing it. Maybe the logic it provides is not needed anymore, or you could do it somewhere else in a far more readable way (I'm thinking about abstraction levels)

<comment><USER20> Sure, and I think we can all agree that this type of refactoring is useful, but I have worked with many developers that really take this anti-LoC idea to heart and end up producing difficult to read code because they are so focused on finding the most terse way to express logic.

<comment><USER5> A favorite quip of mine is that I dislike Ruby because the entire community optimizes for one-liners.

<comment><USER19> Back in my days of writing Perl one liners were also kind of encouraged, because usually it would likely be more performant. At least thats what some instructors told us.

</comment></comment></comment></comment></comment><comment><USER22> Very similar to the "the principle of least power":

\- [https://en.wikipedia.org/wiki/Rule_of_least_power](https://en.wikipedia.org/wiki/Rule_of_least_power)

\- [https://www.w3.org/2001/tag/doc/leastPower.html](https://www.w3.org/2001/tag/doc/leastPower.html)

\- [https://blog.codinghorror.com/the-principle-of-least- power/](https://blog.codinghorror.com/the-principle-of-least-power/)

I also would like to add this blog post by Li Haoyi (from Scala.js fame)

\- [http://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLe...](http://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html#philosophy- principle-of-least-power)

I think the tradeoff is maintainability and flexibility. I think code cannot be allowed to be complex. Complex code will eventually be broken during maintenance.

</comment><comment><USER23> while theres an esssense of truth in this blog ( write simple code ) the details given miss the mark. Software shouldn't be considered a cost, that could lead to the wrong choices, it's just part of a bigger system and costs generally should be measured at the system level.

Also you have to be careful with using "interns" as a measure of minimum code level. Often the interns opt for what they feel is simple to understand but can be prone to errors. There are many micro patterns that avoid many problems that come from experience. But the sentiment about not using too clever code is generally good.

<comment><USER24> > Software shouldn't be considered a cost

I fully disagree. Code is a liability taken on as a calculated risk to perform some task.

<comment><USER25> > Code is a liability

Code is an asset, like any other piece of capital. Like physical capital, using it and maintaining it may have costs. Like physical capital, the costs associated with it are not worth paying if you don't have a productive application for the capital asset that justifies those costs (and, also, the amortized cost of acquiring the asset in the first place.)

<comment><USER26> It depends. Any code that I see written in support of cross cutting concerns that are not specific to specialized needs of the business are a cost I look for others to bare. I'm not going to write my own logging framework, ORM, configuration, scheduler, etc.

Recently I removed three custom written classes - one involving a friendly wrapper around .Net Http client, one to handle writing and reading CSV files and one to handle retry logic. I found better implementations on Nuget and replaced my custom versions.

Why? Because I knew my future self would appreciate not having to maintain them. Of course I had unit tests around the existing functionality first to help keep me from breaking stuff.

Any company has a narrow niche for which it is writing software. Avoid writing anything outside of that niche and use third party software. You are not giving your company any competitive advantage by writing yet another wrapper around database access.

<comment><USER27> RestSharp, CsvHelper and Polly?

<comment><USER26> Wow. You're 3 for 3.

</comment></comment></comment></comment></comment></comment><comment><USER28> I find these kinds of articles ultimately unhelpful. I do agree with the overall message, but with the lack of practical examples, all I came away with is a description of the problem we're all too familiar with already (software design is hard, simplicity is desirable) but no answers to _how_ to achieve that in the real world.

"Don't use recursion to solve a problem easily solved by a for-loop, except when recursion is the right tool for the job."

You're not wrong. Just not terribly useful advice when fighting against real complexity in systems.

</comment><comment><USER29> I've heard and read about this time and again over the years, but am yet to find a blog post -- including this one -- or video that take an existing set of code snippets that is un-necessarily complex, and then refactored / re- written that code to be dumb code that performs similarly but is easier for any rookie to understand and maintain.

Can anyone point me to real examples for C# or Java?

<comment><USER30> I haven't programmed in C# or Jave, but I was recently looking into expository literature on why functional programming helps write more modular code [1]. I found the following Haskell-based example to be really enlightening: [http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard- Way...](http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard- Way/#functional-style)

I think it's okay to skim over the Haskell specific parts; what I really liked how the end result (version 10 of the program) is nicely composed out of orthogonal pieces, compared to version 1, which is a monolithic blob, while "simple". So, if you want to solve a related but different problem, you can reuse everything you've written instead of duplicating code. So any bugfixes/improvements to one part can trivially be propagated to all other use cases.

[1]: [https://blog.acolyer.org/2016/09/14/why-functional- programmi...](https://blog.acolyer.org/2016/09/14/why-functional-programming- matters/)

</comment></comment><comment><USER31> This post is by the author of the dask parallel computing framework, which is written in Python and getting some traction in astronomy circles.

</comment><comment><USER32> I have to completely agree with the article, and that has been my learning working for biggies in the US. But not all people agree on that. They consider themselves smarter, after writing complex code with no documentation. Also, certain people make value with complex stuff instead of making it easy as a breeze for others to understand and contribute.

</comment><comment><USER33> Here are links to two of my favorite essays that make a similar point:

Java for Everything[1]

Too DRY[2]

And then there's a third, which is not quite the same topic, but still in the same vein. It's arguably even more relevant today than three years ago when it was written, especially given how much attention is being captured by ecosystems that attract folks who end up generating a morass of terrible tooling:

Helping my students overcome command-line bullshittery[3]

1\. [https://www.teamten.com/lawrence/writings/java-for- everythin...](https://www.teamten.com/lawrence/writings/java-for- everything.html)

2\. [http://jamie-wong.com/2013/07/12/grep-test/](http://jamie- wong.com/2013/07/12/grep-test/)

3\. [http://pgbovine.net/command-line- bullshittery.htm](http://pgbovine.net/command-line-bullshittery.htm)

</comment><comment><USER34> IMHO this is the philosophy behind ruby and rails. Any kind of software has a people cost. We should be able to spend less time writing software and it should be a time efficient process as we pay for it using human time.

<comment><USER19> Ironically I find Ruby code one of the hardest languages to read when I see a random snippet.

</comment></comment><comment><USER35> The author wrote a nice piece, but it should be called, "Write Dumb Code," but, "Write correct & concise code." Dumb code doesn't mean the same thing as short code.

</comment><comment><USER36> Kiran addressed a very similar (if not the same) topic at the PyCon India 2013 keynote: [https://www.youtube.com/watch?v=_stsJlNgGfA](https://www.youtube.com/watch?v=_stsJlNgGfA) (40 mins). I was there at the keynote and it really helped set my basics very strongly. Highly recommended.

</comment><comment><USER37> I agree, but the author doesn't tell us how to do that in practice.

<comment><USER38> It's not by the author but Rich Hickey (creator of clojure) has a great talk titled "Simple Made Easy"[1] which I always recommend.

Furthermore I have been using Golang and would say it is very simple language that anyone could pick up and become productive with quickly. One of Go's proverbs is "Clear is better than clever."[2] At the expense of a little verbosity there is much less ambiguity in the intent of code.

1\. [https://www.infoq.com/presentations/Simple-Made- Easy](https://www.infoq.com/presentations/Simple-Made-Easy) 2\. [https://go- proverbs.github.io/](https://go-proverbs.github.io/)

</comment></comment><comment><USER39> Consistency is the name of the game. Principle of least surprise. Keep flow happening. etc etc.

</comment><comment><USER40> Gold mine of Empathy!

</comment><comment><USER41> > Software is the currency that we pay to solve problems,

A great mind shift there.

</comment><comment><USER42> Our company's full-time job is to shrink our customer's codebase size aggressively. Your team will not do that because it's a job security to them. Let us make your company where it's easy to fire anyone without risking major drawdowns.

<comment><USER43> >Your team will not do that because it's a job security to them

Every team I've ever been on [albeit that's only two], it's the opposite, if the devs had their way they'd spend all day every day simplifying and refactoring. The only reason we don't, is because actual business needs demand attention.

<comment><USER44> If I had a free reign over my time at the office, I'd spend at least a month just cleaning up the mess that has accumulated.</comment></comment></comment>


How to Create Scalable and Maintainable JavaScript Applications: Namespacing - <AUTHOR> http://www.innoarchitech.com/scalable-maintainable-javascript-namespacing/

<comment><USER2> This is a somewhat bad idea since it might decrease performance as you are adding a lot of dynamic lookups. A lot of larger codebases actually cache property lookup results to increase performance.

<comment><AUTHOR> Hi, thanks for the comment. I agree about caching and did not intend for the example to indicate otherwise. This chapter is meant to lead the way to later chapters that outline ways to avoid performance issues and to promote best practices. Thanks again!</comment></comment>


Announcing JS Error Reporting and Ajax Timing in New Relic - <AUTHOR> http://blog.newrelic.com/2014/03/13/javascript-error-reporting-ajax-timing-new-relic/ <comment><USER2> In the post it says they instrument the $.get callback, but that's a jQuery function. So are they instrumenting actual AJAX methods or just jQuery's? Can you get timing data for JSONP requests, which don't actually use AJAX (but jQuery hides that for you)?

<comment><USER3> We watch addEventListener to do the callback timing which jQuery uses under the covers. Any requests going through the browser's xhr interface will get instrumented and reported (this is what $.get uses).

<comment><USER4> Based on what you said, it sounds like enabling this feature will have no impact on existing front-end load times. What about error reporting... are you guys satisfied with where it's at now or do you guys feel like there is more accurate and more in depth js error reporting in the future?

<comment><USER3> We have a lot more planned.

</comment></comment></comment></comment><comment><USER5> If you're interested in an OS alternative, Bucky also times AJAX requests: [http://github.hubspot.com/bucky/](http://github.hubspot.com/bucky/)

</comment><comment><USER6> Just noticed my cool little Browser(beta) menu today!

Cool stuff, especially given that it's being offered for cheap Lite users like myself. I was happy with average req times; this is just icing on the cake!

</comment><comment><USER7> I've already got this set up. Looks like New Relic are going to be monitoring all the things! Soon

<comment><USER8> Indeed - we've already got [http://newrelic.com/platform/](http://newrelic.com/platform/) for monitoring things via plugins, we've got app server and mobile app monitoring, we've got server OS monitoring, and you are going to love what we've got coming with newrelic.com/software-analytics!

<comment><USER9> Is monitoring Go applications on the road map somewhere?

<comment><USER10> There is a Go plugin that may meet your needs. [http://newrelic.com/plugins/yvasiyarovcom/136](http://newrelic.com/plugins/yvasiyarovcom/136)

You could alternatively develop a Go agent using our Agent SDK: [https://docs.newrelic.com/docs/features/agent- sdk](https://docs.newrelic.com/docs/features/agent-sdk)

</comment></comment></comment></comment><comment><USER11> How do they do that? they add event listener to windows.onerror?</comment>


Alejandro Aravena's open-source plans for low-cost yet upgradable housing - <AUTHOR> http://archinect.com/news/article/149938728/inside-aravena-s-open-source-plans-for-low-cost-yet-upgradable-housing <comment><USER2> The article does not mention the cost of these houses which would seem to be the major point of information.

I think these developments can market themselves a lot better if they drop the terms "low income"/ "low cost"/"social housing" and adopted something like "young people homes" or "starter homes".

<comment><USER3> > The article does not mention the cost of these houses which would seem to be > the major point of information.

I don't know if it's possible to provide an accurate number. Although it's possible to specify material costs, the cost of construction work is mainly driven by labor cost and the organizational capabilities of each contractor. Mexico's government could provide the info on their own contracts, but that wouldn't be very representative of what they could cost in, say, the US, where wages are far higher.

> I think these developments can market themselves a lot better if they drop > the terms "low income"/ "low cost"/"social housing" and adopted something > like "young people homes" or "starter homes".

These projects are mainly driven by the need to cut costs right down to the bone, even if this means that the housing projects are, say, far from luxurious.

The main reason is that this sort of project is targeted at local and central governments who feel the need to spend a part of their budget in social housing projects, whose main goal is a mix of improving people's housing, eliminate shanty towns, serve as the first stage of an urban renewal project, and even plain old populist propaganda to get them reelected.

Therefore, the target market is a set of organizations with deep pockets whose decision is mainly political and is driven by cost-benefit analyses, but ultimately aren't the ones who will actually use the end-result.

Therefore, as cost is king, these social housing projects tend to be located in regions whose real estate value is very low, mainly due their sub-par location. As the people who will end up living in these housing projects, due to their low income, essentially don't have any better alternatives than living in a substandard house in a sub-par location (because, given an alternative, they would live elsewhere) then that's exactly the sort of people who will end up living in these homes.

</comment></comment><comment><USER4> Meh. The big component of cost is land, not structure. And where structures are expensive it's usually due to regulations.

But any incremental cost reduction helps, so good for this guy.

</comment><comment><USER5> this seems to create very homogenous neighborhoods. it would be nice if these styles were mixed up a bit. otherwise this would create very depressing environments.

this also seems like it wouldn't work inside the US. the main barrier to housing affordability here is zoning laws that prevent density and enough housing units from being built.

that said, i think with some modifications (ie create more variation) this is a good way for countries to be proactive about preventing slums.

<comment><USER6> Look to the Levittown experience for how variation is a naturally emergent property in the right setting; identical houses stamped out assembly-line fashion, yet after a decade they were already adapted to the point it was becoming difficult to discern houses on the same block started out identical to each other. The key was a design that was very open to owner adaptation.

Housing affordability is complex issue. While there are local factors like zoning as you mentioned, artificial distortions in the open market for land in the US (and much of the rest of the world) contribute a plurality of the effects causing the stratospheric cost of land wherever well-paying jobs can be found.

<comment><USER7> For every Levittown there are also hundreds of neighborhoods that never got any better after they were built. I would argue that Levittown can't be disentangled from the economic period in the United States - and it reflected the improving economic position of the working class. That ended in the 1970's for the United States (the GDP kept rising but it has gone to the rich. And home ownership is the same percent right now as it was in the mid-1970's.)

<comment><USER8> Going out on a limb, I think yourapostasy pointed to Levittown not to attempt to explain the entire economics of housing for the U.S.A. during the 70's (because hey, if we're taking the issue to that level we have to talk globally about inflation, oil, etc), but rather they were simply suggesting that, given the (in yourapostasy's ,i think correct and understated, words) "complex" issues surrounding affordable housing, Levittown is a helpful example in as far as providing a cookie cutter foundation which lends itself to indiviualisation over the long term, which is actually a more complex concept (much like building mountains or clouds out of simpler fractal shapes) than it first seems.

<comment><USER6> On point. The complexity of the overall land affordability issue isn't amenable to deconstructing in this forum's format, but yes, individualization is cheaper to accrete over time than build in from the start (especially if the labor input costs to generate the "individual differences" in the initial designs and operational implementations is driven by land costs themselves).

</comment></comment></comment></comment></comment><comment><USER9> This reminds me of the low income housing projects set up post-war in New York but less dense. Generally they're a bit of a blight. Might these become blights as well?

<comment><USER8> generally,,, idk. i lived in Stuyvesant Town for a time, in Manhattan. it, was not blighted. it was effin amazing and i miss the living there, a lot. a lot, alot. if you didn't earn 150k+ in the city, it was pretty much the best thing going. new york city's post-war housing was not "low income", it was affordable housing. it was meant for working class folks. blight doesn't happen because something was initially meant for use by "low income" folks. blight happens because of neglect or stagnation. the term blight itself: "a plant disease, especially one caused by fungi such as mildews, rusts, and smuts." so to stigmatize "low income" as being "blight" prone is to so badly conflate the issues involved as to verge on ignorance.

</comment></comment><comment><USER10> This should be Open Sourced. And adaptable for different site conditions.

Otherwise, it's just theoretical.</comment>


Jacob Appelbaum Banned from CCC Hacker Conference - <AUTHOR> http://gizmodo.com/jacob-appelbaum-banned-from-prominent-hacker-conference-1782164249 <comment><USER2> I remember sitting in the audience, when he used the line. "..to anyone thinking the NSA is not watching you." (Turns on his phone) "Now they do." He was great in that way. And probably still is. Charismatic. And a catchy speaker. A Entertainer. And a great public advocate for the TOR-Project. Well now he is that no more. Well the larger then live they are - the deeper they fall. Still.

So what do you do when the Great are also not good? Hate and Rage for their ability to fool you? Or just accept that he served a useful purpose and forget about the person. In TOR lives something of the anonymity and anarchy of the old internet on. Which was and is a good thing. Beneath this mask, there are ideas Mr.Needy, and ideas are bully-proof.

<comment><USER3> isis agora lovecruft wrote a nuanced post[1] on this. From my outside perspective it's not about Tor but about preventing harm to the community. In the end hacker culture was always about doing interesting stuff and less so about selling or presenting it. Everyone will do fine, I guess. I for one would prefer "bad" talks with lot's of technical merit instead of more show. I don't have an opinion about the accusations as someone standing on the sideline but I think it's only fair to respect their decisions.

[1] [https://blog.patternsinthevoid.net/the-forest-for-the- trees....](https://blog.patternsinthevoid.net/the-forest-for-the-trees.html)</comment></comment>


Who is the most famous philosopher of 20th century - <AUTHOR> http://www.ucalgary.ca/~rzach/logblog/2009/03/whos-most-famous-philosopher-of-20th.html Not so interesting about the list, but thought provoking about how you can measure fame, especially in the field of science. <comment><USER2> For one thing the concept of Fame as it relates to the importance or relevance of philosophers is somewhat dubious.

However if Fame can be applied to philosophy. Andy Warhol is undoubtedly the most famous philosopher of fame, and he is not on this list.

<comment><USER3> Je suis d'accord.

This is hardly something something I'd want to appear on _my_ alma mater's web site (as it does here for ucalgary.ca). Perhaps there is a uHollywood.us? Further undermining the list is the journal which provides its single reference:

Schulman, E. 2009, "Measuring Fame Quantitatively. IV. Who's the Most Famous of Them All?" Annals of Improbable Research Online, February 28.</comment></comment>


Show HN: Including Mapbox GL into your neo.mjs app (desktop only) - <AUTHOR> https://neomjs.github.io/pages/node_modules/neo.mjs/dist/production/apps/covid/index.html#mainview=mapboxglmap <comment><AUTHOR> what to look for: [https://raw.githubusercontent.com/neomjs/pages/master/resour...](https://raw.githubusercontent.com/neomjs/pages/master/resources/images/mapboxgl.png)

=> a massive worker ping pong game

the performance feels extremely good, especially zooming in and out deeply (e.g. use the country selector dropdown multiple times while being zoomed in deeply somewhere.

using chrome 80 you can see the code like in the screenshot (no builds): [https://neomjs.github.io/pages/node_modules/neo.mjs/apps/cov...](https://neomjs.github.io/pages/node_modules/neo.mjs/apps/covid/index.html#mainview=mapboxglmap)

</comment><comment><AUTHOR> demo video: [https://youtu.be/7dnVUchs6VU](https://youtu.be/7dnVUchs6VU)</comment>


Inkjet Printer Makes Instant Skin Grafts for Burn Victims - <AUTHOR> http://www.fastcodesign.com/1662613/new-pics-inkjet-printer-makes-instant-skin-grafts-for-burn-victims

<comment><USER2> Nice photos of the actual printer here that I haven't seen before.</comment>


AT&T Learns Exactly the Wrong Lesson About Data Usage - <AUTHOR> http://designbygravity.wordpress.com/2010/06/08/att-learns-the-wrong-thing-about-data-usage/ <comment><USER3> The japanese market pricing provides a sensible alternative: Scaled pricing with a reasonable limit.

You pay a minimum monthly price up to a certain cap, and any usage over that cap scales your total bill linearly up to a maximum total bill, beyond which your usage is effectively unlimited. The minimum is about $15 and the maximum is about $50. Not exactly going to break the bank, and totally reasonable.

Metered usage is not evil, people just need reasonable assurances that their bill has a safe ceiling.

<comment><USER4> With Docomo the amount of data you need to consume to hit that max is quite low, however. Less than 100MB. I assume it's the same for Softbank. The pricing is geared toward customers that use the network for email and browsing shitty iMode sites like Mixi on a tiny screen.

Docomo and Google have done very little to promote Android here, by the way. In one year I've seen one device other than my own, and it was the same model (the HTC Magic, one of the few models you can get).

Great network here for voice and especially data, but it mostly goes to waste.

<comment><USER3> Yikes, I looked up the specific values involved for softbank (as they are the exclusive iPhone carrier) and the $10 usage is roughly 1.5 mb. The max-ed out usage is.... 8.5mb.

The current values in the scale are clearly a bit antiquated, but the concept seems like a good one.

</comment></comment></comment><comment><USER5> Hey entrepreneurs: pretend for a moment that AT&T is YOUR company. You have a hit on your hands (the iPhone), but one that has crippled your network in major metro areas like San Francisco and New York. Investing in new cell towers means not just millions in capital expenses, but also years spent arguing with NIMBY neighborhood associations who don't want to see any more of your ugly towers. And, you have a way to reduce the monthly fee for 98% of your users, prompting MORE people to sign up for revenue-generating data plans, while dis-incentivizing the 2% who use the most data. What would you do?

As to those who are wondering why they have to pay extra for tethering, are you really surprised that a company would charge more for a service that you value, which will result in heavier usage of their resources? How many Hacker News readers run web companies with "freemium" business models? How do you sleep at night charging your customers for only twice the number of accounts/downloads/records that you give away for free to others?

<comment><USER6> _As to those who are wondering why they have to pay extra for tethering, are you really surprised that a company would charge more for a service that you value, which will result in heavier usage of their resources?_

If it results in heavier use, they should just charge for the use directly, not micromanage how I use the service. In the freemium scenario, it would be like charging extra to be able to access the website from more than one computer. Both are stupid because both require nothing to "support"; they inherently work as part of the existing infrastructure. On the other hand it does take resources to try to block that functionality, because you have to actively look for "cheaters".

<comment><USER5> "If it results in heavier use, they should just charge for the use directly, not micromanage how I use the service."

When you sign up for a 2GB per month plan with AT&T, they are counting on the fact that you won't actually use that 2GB, because for most users, it's just too hard to suck down that much data through your smartphone (especially if, like me, you're roaming onto a WiFi network at home and the office). When you use tethering, you're pretty much guaranteed to use more of that 2GB.

When you go to an "all-you-can-eat" restaurant, you do know that they don't actually expect you to eat until you get sick, right? If every customer did that, they'd probably have to raise their prices.

<comment><USER7> _When you sign up for a 2GB per month plan with AT &T, they are counting on the fact that you won't actually use that 2GB_

Maybe people just don't like being lied to?

</comment></comment></comment></comment><comment><USER8> _I am a data pig. I average between 1.5 and 2 gigabytes a month over the last 6 months. AT &T hates me, apparently, though they are happy to take my money._

I'm not sure how that helps the point the author is trying to make, as he/she will actually be paying _less_ now than they were before, even as a self- proclaimed "data hog".

A few more random points that I thought were misguided:

1\. Not everyone should be attached to their phone like many of us are. Perhaps Apple and AT&T have done some market research and concluded that some people just aren't going to pay more than $15 / month for data, because they just wouldn't use it much. Better to offer those people a path to becoming customers than mindlessly trying to turn them into consumers of a service they don't want or need (expensive unlimited bandwidth).

2\. It will apparently be possible to _retroactively_ upgrade from the 250 MB plan to the 2 GB plan if you're going to be over, so the fears of forgetting that you left Pandora running and paying hundreds seem to be a bit unfounded.

3\. The part where the author rants about how the entire wireless infrastructure should be overhauled so he/she can avoid paying for metered bandwidth really goes off the deep end. Like this gem:

 _And yes I know the wireless protocols are not super-amenable to this sort of thing, the way a wired router or switch might be, but that is again just your poor engineering. Fix it already._

What?

<comment><USER9> I think you are missing the key point: Apple wants people to use their fancy devices _more_ , not less.

You spend this money on this awesome device that does awesome things, Apple makes money when you use it (via iAds, via google searches, via many things) and AT&T is saying to their customers "don't use your device too much!"

I'm betting Steve is totally pissed off at AT&T right now.

<comment><USER10> So we should force iPhone users to pay for unlimited bandwidth so that we can try to force them to "do more awesome things" with their phone?

What this argument is not taking into consideration is that some people _don't use their device as much as others, and they do so by choice_. Plenty of people will take a $10 discount to cut their phone usage a bit, and be happy that someone offered them the choice. Personally, I'm a data-crazed maniac who uses my iPhone constantly (and uses around 900MB/month) but that doesn't mean everyone is (or wants to be).

I'd also argue that there are only a few applications that consume large amounts of bandwidth, such as streaming/downloading audio and video. You can still take full advantage of your phone (with the exception of those two things) and not use much bandwidth.

<comment><USER11> Offered tiered pricing. $5/mo for 100MB, $10/mo for 250MB, $20/mo for 1GB, $30/mo for unlimited.

<comment><USER10> That's what they're doing, although not with the exact tiers you mentioned.

As for the $30/mo unlimited, I believe part of the reason why AT&T removed the unlimited option in the first place is because a disproportional amount of bandwidth is spent by people who jailbroke their iPhone and use 100+GB/month using it as a 3G modem.

<comment><USER12> As if anyone can actually get a good enough signal to pull 100GB off the AT&T network. You have to be masochistic to use a AT&T 3G exclusively.

Also, you don't need to jailbreak to tether. I forget the details, but basically you go to a web address and install a new carrier profile and thats it.

If AT&T want to be the big boys on the block they have to invest in their network, end of story. The reason they got rid of the unlimited option is because they want to make all the money and not do a thing to improve their network.

</comment></comment></comment></comment></comment></comment><comment><USER13> There is usage-based billing for _utilities_ , so it is theoretically possible to do this fairly with other things. However, it requires the corresponding regulations: for gas and electricity, you have meters; you also have labeling requirements on the products you buy, so that you can tell what they're going to be using.

Apps don't have meters, and they don't have any mandate to tell you that they're hogs. Therefore, tiered bandwidth billing is unfair: it is simply not possible for a customer to _know_ when they're buying something that will cost them dearly in terms of bandwidth usage, nor is it feasible to isolate which of 100 apps on their phone is responsible for their overage billing in a given month.

<comment><USER14> You do have a point, but really: when was the last time you went and looked at your meter to make sure you weren't using too much? Or looked at how much energy something used when deciding whether to buy it?

The problem is that power use is limited by physics. If your gas stove valve was stuck open and was venting your gas line you'd know, because the house would turn into an oven. Bandwidth use is not limited by any laws except the capacity of the device, so the difference in usage can vary over a much larger range than power use can.

</comment></comment><comment><USER15> I too dislike how AT&T foisted these prices on us - but I disagree with the author here.

He seems to be advocating that there's something _wrong_ with not consuming 1.5-2GB a month. He's a heavy user - cool, but I see no reason for the majority of the world to be just like him.

> _"Why are so many people using so little bandwidth? Or, put another way, you > should be ashamed of yourself if you sell a device like the iPhone and then > encourage people use it so lightly that they only consume a couple hundred > megs of data a month."_

Honestly, I don't think anyone has been _encouraging_ people to use less bandwidth. For most users a few hundred megs a month is plenty, and _there's nothing wrong with that_. Unlike us geeks they're not constantly chained to their gizmotrons, and do not live like cybernetic organisms. That's perfect okay, and in fact I'm jealous of that lifestyle sometimes.

Don't get me wrong, I think it's very short-sighted to cap bandwidth - we may very well be killing the next world-changing app in the crib. The world will find use for all of this bandwidth if we let them, but at this point in time I don't think one can look at the bandwidth usage numbers and proclaim that people _aren't using their phones enough_.

At what point does the phone stop working for us, and instead we for them?

<comment><USER16> I think he wants to say AT&T should get the users hooked to using lot of data, so they as a subscription company can keep making money from users for a longer time.

<comment><USER17> Exactly.

If you're AT&T, when households are looking at their bills for stuff to cut, you don't want them looking at their data plan and saying, "well, I guess I don't use it very much..."

You want the gym membership to get the axe.

<comment><USER18> But most AT&T customers are locked into long-term contracts, so they can't just up and decide "I'll cut the data plan".

My startup was recently bought by Nokia, and unsurprisingly, one of the fringe benefits of working for Nokia is getting a free smartphone (GSM 3G) with an unlimited data plan (T-Mobile, thank God). My wife and I looked into cancelling our Verizon family plan and moving to just one line for her, but the early-termination fee is so high that it's cheaper for me to just keep the Verizon phone. And since our Verizon plan has free in-network calls, it's also cheaper for me to _carry_ the Verizon phone, so that she can call me on it.

The flip side of this is that people who abandon their carrier because of network issues will be more like a slow leak than a stampede, so AT&T executives with an eye on quarterly profit results would rather do anything _but_ invest heavily in building out their infrastructure.

<comment><USER17> That doesn't significantly change the issue.

Whether one can cut the bill immediately or in X months time, the point is that the last thing AT&T should want is people saying, "why am I paying $X when I hardly use it?"

They should want to have mobile data usage so ingrained in their customers' lives that people wouldn't dream of cutting it when their contracts run up.

AT&T has sold a lot of data plans by making them required for iPhone purchases, and plenty of people wanted the fancy new toy. What happens when smartphones aren't the fancy new toy? How many AT&T iPhone customers, if they had to drop their iPhone and get another phone, would still buy a data plan if it was simply an option rather than a requirement?

</comment></comment></comment></comment></comment><comment><USER19> I disagree with the author's points. AT&T doesn't care how integrated a mobile device is into their customers lives. All they care about is the money the customers pay them. And the more customers they have, the more money they make. However, instead of building a robust mobile infrastructure that can support all users, they try to cram as many low-usage customers they can on their outdated network.

Alienate one network "hog" and you'll find 49 others who will pay the same amount of money for a fraction of the usage. And for all the users they lose, they'll recoup millions in overcharging.

I love how customer satisfaction is one of AT&T's most important goals...

</comment><comment><USER20> In Easter Europe you get the following from the official(read most expensive) iPhone carrier: $5 for 200mb, $9 for 2gigs and $18 for 10GB, $40 for unlimited.

These plans may be slightly cheaper than US plans, but that is nothing special. What is nice, that if you DO go over your limit, you can continue using the net downloading/uploading albeit at a ridiculously slow rate 16kb/8kb. If you want to go back to your usual speed you send a SMS and upgrade for $1 per GB or go to the next plan.

What is better in this approach is that the customer is never charged over what they agreed to pay in advance.

Sure beats paying $200 for a local phone bill in early 90s in USA for connecting to local ISP...

</comment><comment><USER21> The author really hasn't considered it from AT&T's perspective. On one end, they're hearing complaints about their terrible network, and on the other end, they're facing large costs to improve their infrastructure to support people with unlimited accounts. Aside from the comparatively small increase in subscriptions they'll get for their improvements, they'll see no income for their investment.

However, if AT&T were to force out the unlimited data pricing model and replace it with per GB pricing, they'll be able to fund the scaling their infrastructure up as the usage increases. Similar preferences for per-GB models have been voiced by other telcos as well, claiming "unlimited data is dead" (I don't know where I read this). Frankly, I'd be surprised if there wasn't some collusion amongst the big telcos regarding this.

I'm not saying I'm happy about this, but I think the scenario I describe is much closer to reality.

<comment><USER22> I'd really appreciate it if AT&T would just come out and say this, but they're not. Unfortunately I fear they'll put this pricing into effect and still offer the same shitty service.

<comment><USER23> I'd email ATT's CEO to suggest this, but I'd be afraid of getting a cease and desist warning in response. ;)

</comment></comment></comment><comment><USER24> This is precisely what the "inversion of the telco model" talks about. And ATT ignored. Users want to pay for features, not access.

[http://www.telco2.net/blog/2008/09/the_inversion_of_the_tele...](http://www.telco2.net/blog/2008/09/the_inversion_of_the_telephony.html)

</comment><comment><USER25> Pray that this mindset does not infect your ISPs and tempt them to introduce traffic caps.

Having your users be paranoid that they're going to go over their cap and get absolutely reamed for overage charges is not exactly how you build an advanced, high-bandwidth content delivery system.

Even less are going to be "data pigs" that use a trivial 1.5GB after such a change, high prices guarantee that.

Silly buggers.

<comment><USER26> _Pray that this mindset does not infect your ISPs and tempt them to introduce traffic caps._

I don't think this would be such a bad thing -- just as you pay on a per-unit basis for the water and energy you use, paying per unit of bandwidth consumed seems entirely reasonable. In an unlimited plan, typical users effectively subsidize a small minority of heavy users.

Of course, the real problem is the outrageous charges for when the bandwidth cap is exceeded, as well as the lack of proper notification for when you run over your limit.

<comment><USER27> Bad analogy. If you waste 50,000 gallons of water by leaving your water hose on while you're on vacation, that's 50k gallons _that the community no longer has_ [1]. The only way someone downloading e.g. 5gig of data in a month can cause anyone else to _not_ be able to download is if the line is running at 100% capacity 24/7. The only possible impact the person could have is making communications take a little longer during the times he's bursting. But this is easily fixed by bandwidth caps and burst limits.

Do you have any evidence that lines are getting anywhere close to 100% utilization perpetually?

[1] I'm simplifying of course, but this is the basic idea.

<comment><USER28> On big access networks you have to stay far away from 100% capacity. 60-75% is the minimum where you will start seeing the negative effects of channel contention. On a cellular network sharing data & voice you also have a good amount of bandwidth reserved for real time services (phone calls) to factor in along with all the PHY/MAC overhead. There's probably some QoS overhead to calculate in also. I'd say there's a very good chance AT&T is running into channel capacity problems (further evidence being dropped calls/failed calls when devices have good signal. That means they're requesting a real time service and there are simply not bits left over to grant it. Try again in 5 seconds and it works because bandwidth has been allocated/reserved for voice calls)

<comment><USER27> If they _ever_ drop calls from capacity problems then something has gone horribly wrong (either tech wise or provisioning).

But my point was that bandwidth is (or should be) renewable. If you do a download when everyone else is doing one your traffic should be getting shaped down to the provisioned minimum until there is room for it. This will make the traffic slower during those times, but there are going to be times where nearly no traffic is on the line.

</comment></comment></comment></comment></comment><comment><USER29> I wonder if apple could use this to get out of the exclusive deal without penalties?

<comment><USER30> I'd be almost certain that this was discussed when renewing their exclusivity deal.

However, your phrasing implies that you think Apple is "stuck" and getting shafted by AT&T. Really, it is quite the opposite. Apple surely looooves the exclusivity deal because they can leverage it over AT&T to collect globs while AT&T eats the cost over the life of the subscription. The exclusivity deal is one of the key reasons that Apple is able to offer such fantastic hardware at their current price point.

<comment><USER31> Yeah, apple is making out like a bandit while AT&T ponies up the cash and takes a reputation hit every 2 months.

</comment></comment></comment><comment><USER32> Some specific points of the new pricing are really outrageous honestly. The fact that they do tiered-pricing is, while annoying, kind of their prerogative. It actually sounds like it could save me a few bucks.

However, paying $20 (!) to have access to tethering without extra bandwidth, is _complete_ non-sense. I just can't find a reasonable explanation for this. As well as the price for extra data for DataPlus plan: $15 gives you 200MB, whereas $10 gives you 1GB if you are on the DataPro from the start. I also assume they won't have roll-over data: if you use less, you lose, if you use more, you lose.

Finally, having data caps impedes on the benefit from getting multi-tasking. Besides a faster switch between apps, the point is to have apps stay connected while you're doing something else. (think Pandora) If you start thinking about your data usage, you'll have to think about what's actually running. Exactly what Apple didn't want you to do.

<comment><USER33> A friend of mine who works for Apple told me (a year or so ago) that the reason for this is because ATT (and similar companies in other countries) wants to discourage tethering due to the fact that they don't have the infrastructure to accommodate lots of high bandwidth connections that you use when you tether. They were gambling on the fact that you need to do a lot more "work" at the moment still to browse/etc. on your phone. But this was before multitasking -- I can only bet they were throwing their hands up in dismay when multitasking came in :)

<comment><USER32> I can understand this idea when it's an unlimited plan: if you tether, you're likely to use a lot more bandwidth than with just your phone. So, if you tether, you'll impact the infrastructure.

But since they're limiting your bandwidth already, I'm not so sure why it matters if you use it from a laptop or from your phone.

In the end, I know why they're doing it: because they can, and because they want to limit the number of people who do it. It just bothers me because it doesn't make sense technically.

</comment></comment></comment><comment><USER34> What kills me is that when the ATT spokesman mentions the subscriber percentages in the NYT article (quote and link below), he says "smartphone" and not "iphone".

They have a lot of smartphones ([http://www.wireless.att.com/cell-phone- service/cell-phones/p...](http://www.wireless.att.com/cell-phone-service/cell- phones/pda-phones-smartphones.jsp)) to average the usage numbers over and push the percentages up. I wonder what the iphone percentages are.

"He said 65 percent of the company's smartphone customers tend to use less than 200 megabytes a month, and 98 percent averaged less than 2 gigabytes." [http://www.nytimes.com/2010/06/03/technology/03phone.html?sc...](http://www.nytimes.com/2010/06/03/technology/03phone.html?scp=3&sq=AT&T&st=cse)

</comment><comment><USER35> I'm sure AT&T knows more than me about pricing but...

I doubt the fact that they'll be getting tons of new customers because people can now save $10 a month. Apple has intentionally scaled back on the number of different models they offer (on all products). Why? Because otherwise there is too much choice.

Most people have no idea how much data they use in a single month, and as mentioned 98% aren't using a massive amount. So, to squeeze a few extra dollars out of the 2%, they just made the decision way more complicated for everyone.

People buy iPhones because they are sexy, easy to use, their friends have them, etc. There is no need to complicate the purchasing decision by forcing people to start guesstimating their data usage.

What happens now when my mom decides to get an iPhone? Before she could buy knowing that "it just works". Now, she's going to call me and start asking questions about which plan she should get, then get confused by the answers (since tech-wise we don't really even speak the same language). All of the sudden, it's starting to seem like a headache.

For each customer they don't sign up because of the complicated pricing (or those they lose because people who don't use that much bandwidth are now afraid that they're going to be constantly being charged for overages), they would have to sign up an extra 6-10 customers who signed up because they can get a plan for $10 a month less than they could have before.

Seems unlikely, no?

</comment><comment><USER36> In the short term, I am not sure that this is that big of a deal. My data use would be 3 to 4 times higher than it is now (and thus approaching the author's) were it not for the fact that most of the time I am using my phone on a day-to-day basis, it is in areas with wifi (since I live in Cambridge MA, it is conceivably possible that I have wifi coverage 90-100% of the time; to save battery, my radio is off unless I think I explicitly need it). I do not think that AT&T and Apple are trying to cause people to use their phones less, but rather to improve the cellular networks by causing people to use wifi - <USER2> it at home, work, or Starbucks - as opposed to AT&T's overwhelmed towers. I think there is plenty of evidence to support this, from the fact that the $15 200 MB plan explicitly allows you to temporarily switch to the $25 2 GB plan during months when you would experience overages, to the technical limitation of Apple's video calling only working over wifi.

Since I cannot tell the future, I have no idea if this will have a chilling effect on data-intensive apps or workflows yet to be developed or envisioned. If AT&T increases the amount of data included in its plans at some point in the near future (which would be reasonable, although possibly less profitable), this would be a moot point.

<comment><USER37> Your suggestion that people need to curb their 3G usage to help AT&T's poor towers is precisely the logic they're employing. It isn't valid, though. The capacity of AT&T's network is not a finite resource. They can make more. In fact, the government gave them money to improve their network, but they just pocketed it and opted to create artificial scarcity instead.

In other words, AT&T's towers are overwhelmed because AT&T didn't build enough capacity. That's not my fault and I shouldn't be paying for it.

<comment><USER36> The article claimed that the new data plans would cause people to use their phones less. I do not believe this is true, but I do think it will either cause people to use wifi more and cellular data less (if they are heavy data users like the authors) or not make any changes (if they are "normal" users). Nothing in my original writing was meant to suggest that AT&T subscribers with data plans (like myself) _should_ use wifi more.

<comment><USER38> A few insane overage charge stories in the media will definitely cause people to avoid using their phone as much. It's not something people should be thinking about when they use the phone, it's counterproductive.

</comment></comment></comment></comment><comment><USER39> Here's the thing: tiered data usage makes sense. Otherwise people who hardly use much data are supporting the people who use a lot, and are paying more than they should.

This is like charging a flat price for petrol, say $50 a week, and expecting people who only drive occasionally to the shops to pay the same amount in fuel as people who make regular interstate trips.

For the 98% of people, their iPhone service just got cheaper, and for 65%, a reduction by half in their data bill.

<comment><USER40> It makes sense now, riding on the back of years of growth fueled by demand. Bandwidth is cheap! Sure, I'll pay for a few extra gigabytes. But without the years of "unlimited" plans, we would still be living in an age of glacial bandwidth speeds at extravagant prices. The demand for bandwidth drives the cost of providing that bandwidth down.

Tiered usage charges slow growth. That's great for AT&T, but bad for consumers as it also slows the decrease in the cost of bandwidth. You save a few pennies, and we all suffer from the lack of investment to support growth which in turn drives innovation.

<comment><USER39> I'm not so sure that it does. I live in Australia, where we've always had limited downloads and speeds. When I first got ADSL (about 6 years ago), my AU$60 bought me 2GB quota at 256kbps. Now it gets me 120GB and I sync at 19Mbit (the fastest my phone line will allow).

The lack of competition in the US broadband and phone market is the cause for slow growth, not download limits. You can say that Australian broadband is still expensive and slow (in comparison to some countries) but that is at least partially due to the low population density and the massive distances between cities. Australia has 219 ISPs offering ADSL (source:broadbandchoice.com.au), and as a result the value for money offered has increased significantly in past years, and will continue to.

</comment></comment></comment><comment><USER41> I found the following portion to hit home the hardest in regards to the new data usage cap:

 _Doesn't that just grind cloud-mobile, gaming-mobile, video-mobile, and some- really-cool-but-currently-unknown-mobile development to a halt?_

This seems all too true as we know just how fast the mobile industry grows each year. OnLive cloud computed gaming is supposed to be live within two weeks. I can only imagine that within a given period of time they'll be porting it over to iPhones and iPads. AT&T seems to be stifling innovation with these caps.

As the speed at which we access data increases, so do the bandwidth requirements for retrieving more data at a faster rate. We're talking higher video resolutions, higher sound quality, and more content immersion. Rather than paving the way and pioneering a new wave of applications, AT&T has bastardized their network with low data caps that will leave us developers pining for more within the next two years.

</comment><comment><USER42> While the entire media industry has been trying to figure out the secret sauce to getting users to pay for content, AT&T went ahead and did it ... other people's content.

</comment><comment><USER43> Does anyone realize with the new Camera on the front of the Iphone coming out, this Data usage issue will change drastically?

The Camera phone will use Data. They are charging for more data. They are set to make a bit of money off this...

<comment><USER44> While the potential for extra data usage with 3rd party apps may be there, Apple's FaceTime video-conferencing software is wifi only and won't run over the 3g network.

</comment></comment><comment><USER45> The only way that this would be fair would be for usage to stop the second a cap was reached and then user agreement to pay extra. I hate the kind of charges where you're constantly wondering how much you're spending.

</comment><comment><USER46> I wish that instead of 2gb/month I could do 12 gb/6 months. My data usage spikes a little on weekends and a lot when I travel, but during the workweek it's pretty flat, so I'd want to save it up for those long trips.

</comment><comment><USER47> They're not capping bandwidth at all, just setting a precedent for charging you more for it.

</comment><comment><USER48> i asked that exact question, if most users use only a few hundred megs... why is tethering another option. Why can't that be built in... surely the network can handle all iphone users using a few hundred megs to a gig of bandwidth a month...

</comment><comment><USER49> Without tiered pricing why on earth would they want to encourage people to use more data?

</comment><comment><USER31> Great essay. Verbalized exactly what I was thinking.

</comment><comment><USER50> i speculate AT&T can't support everyone at 2GB without massive infrastructure upgrades. which certainly impacts their pricing strategy.

<comment><USER51> Indeed, that's exactly the point the author doesn't get. AT&T is doing this _specifically_ to reduce usage, without pissing off their customers. In exchange for giving people a cut in their data plan costs, AT&T's system load goes down. That means a more responsive and reliable network for everyone.

And it's a lot easier than spending money on upgrading their infrastructure.

</comment></comment><comment><USER52> Personally, I'm pretty happy with AT&T's changes. When I'm not using the service, out of the country, etc., I pay less. The overage charges are reasonable. Get real.

Only the self proclaimed "data hogs" are complaining.

Now, if they would only let me unlock my damn phone as a paying customer of 5+ years....</comment>


WatchMe – Watch for Changes on a Page - <AUTHOR> https://github.com/vsoch/watchme <comment><USER2> A couple of weeks ago I was listening to a podcast and the guest worked at this data integration company. In order to provide integration with external APIs they needed to do this in case they changed any endpoint without backwards compatibility. They would monitor the API docs for any change so they could see if something had to be updated on their side. I thought it was kind of "brute" but then I realized there's no good way of doing this today.

<comment><USER3> Hey, Tim here. I was the one talking about this on the podcast. As I mentioned in the podcast, the monitoring of APIs was a method that we quickly found out didn't really scale or help. It suffered from a few issues, mainly the vendors were updating their api's but not their docs. The way that we tackled it in the end was to let things fail. We have actually taken this approach with many things i.e. fail, but have a method which cleans up after the new changes have been deployed.

The way we handle it now is that our integration will start throwing serialisation errors. This will then have our platform send a probe to get a RAW response from the system and then we let the admin see side by side, the old data and the new data. This allows the developers to schedule a new deployment to make these fixes. The good thing is that when the new deployment is made, the orchestration around it will handle fixing the data that it couldn't resolve while the serialisation was failing.

We do get other benefits out of this, including the ability to better handle integrations where you have absolutely no idea what to expect from the API e.g. old Oracle, IBM products that don't have discovery endpoints like Dynamics, Salesforce etc does.

Our recommendation after managing so many integrations is "let things fail". Embrace a data integration pattern that allows things to fail.

<comment><USER4> I think you mentioned in the podcast that managing integrations is one of the toughest parts of your whole operation. (Apologies if I am misrepresentating what you said.) I can 100% believe that embracing failure is the only realistic way to handle this at scale.

But as someone responsible for producing API docs, it really pains me to say this! I know my team goes to great lengths to ensure that our API docs are up to date; we even maintain a changelog of every single doc modification, in large part because we have people integrating directly with our Swagger/OpenAPI based docs.

After a bit of Googling, it looks like CluedIn has an integration with us (Zuora). In case it can help you in any way, our changelog is available at [0].

Full disclosure: I work at Zuora, but am speaking for myself only.

[0]: [https://community.zuora.com/t5/Developers/API- Changelog/gpm-...](https://community.zuora.com/t5/Developers/API- Changelog/gpm-p/18092)

</comment></comment></comment><comment><USER5> This looks cool, but it seems like a great example of when a gui would be better than a command line.

<comment><USER6> I use Distill for this which is implemented as a browser extension. Works pretty well: [https://distill.io/](https://distill.io/)

<comment><USER7> Anything in the open source realm with a similar use case of watching for something specific to change on a web site?

Would be nice to run this from a home server/raspberry pi.

<comment><USER6> I don't know about OSS server side software, but I use the free version of Distill on my own computer in the browser, so it's run locally. My browser is always open, so it's a good platform for checking changes.

</comment></comment></comment></comment><comment><USER8> Very much like kibitzr [https://kibitzr.github.io/](https://kibitzr.github.io/) I like your use cases though.

</comment><comment><USER9> I use the similar (in concept) android app Web Alert [https://play.google.com/store/apps/details?id=me.webalert](https://play.google.com/store/apps/details?id=me.webalert) which pops up notifications when a chosen part of a web page changes; I've configured it to watch for updates to all of Randy Harmelink's newly free kindle ebook lists at Ogre's Crypt.

</comment><comment><USER10> How is this different from urlwatch?

<comment><USER11> Have you looked at the README? It's not just for web page changes.

[https://vsoch.github.io/watchme/watchers/index.html](https://vsoch.github.io/watchme/watchers/index.html)

</comment></comment><comment><USER12> Wasn't there a website that would send you diffs of a webpage too? I remember using something like this to keep tracks of updates to a blog without RSS...

<comment><USER13> DiffBot does something like this. [https://www.diffbot.com/](https://www.diffbot.com/)

</comment></comment><comment><USER14> Another option is [https://visualping.io/](https://visualping.io/) which I've used several times.

<comment><USER15> I liked changdetection.com which they acquired(?)... it was to-the-point and possibly the fastest-loading non-trivial site I knew.

<comment><USER16> Yeah, I was sad about that. The old changedetection.com was vastly superior for my use case and, not to mention, free (or at least much much more generous with its free tier).

<comment><USER17> > much much more generous with its free tier

And thus became the buy-ee instead of the buy-er...the price of altruism!

</comment></comment></comment></comment><comment><USER18> Sometimes I am surprised how much time some people invest in building tools for use-cases that can easily be achieved with ubiquitous cli tools. I have a handful of scripts which are triggered by cron jobs / systemd timers and notify me via XMPP.

The only thing that is not present on a normal Linux system is the xmppsend [1] command for which I use a simple go binary that can easily be deployed.

[1] [https://github.com/arendtio/xmppsend](https://github.com/arendtio/xmppsend)

<comment><USER19> Yes, and you can just chain together ftp, curlftpfs, and svn to make Dropbox.

[https://news.ycombinator.com/item?id=9224](https://news.ycombinator.com/item?id=9224)

<comment><USER18> So you think that my post reflects the common HN Meme?

I see the similarity in making a critical comment regarding a presented project but I think it is different. One of the biggest things Dropbox tackled was to make it a plug and play experience (e.g. you do not have to own a server). With WatchMe I have more the impression that you have to learn a new tool (incl. configuration) and have a more or less limited system afterwards (limited to watching urls or psutils).

I don't really see there any advantage over using shell scripts unless you want to limit what the job creator is allowed to do (which might be a valid use-case). Maybe I am missing something, but from my perspective, it looks like learning to use the existing system tools is of higher value than to learn how WatchMe works (even if their documentation looks nice).

</comment></comment></comment><comment><USER20> Very interesting!

</comment><comment><USER21> piece of work!</comment>