Ask HN: Verbally abusive employer, what do I do? - <AUTHOR> I'm currently been employed by my employer for shy of 3 years. My employer was great for the first 6 months, but after that my boss turned into a huge pain and became verbally abusive. He often belittles me, calls me stupid, no common sense, etc. in front of the entire staff team, to the point it makes me physically sick to my stomach going to work for him. His boss (CEO) is his father, so trying to resolve this is impossible. I have attempted to raise concerns privately and only been treated worse by my boss.
I have been seeking new employment for over a year with no avail, at the point of desperation that I offered to work for half market rate. I've received no offers. The market where I live is bad this year.
What are my options? I have a family, I'm the sole earner, I'm forced to work 10-12 hours a day, with verbal abuse all day. I cannot merely quit, I won't have the money to provide for my family if I do.
Location: Canada <comment><USER3> This is very common where I live. One way out is through freelancing remotely. In Canada, you should be able to find some good remote jobs from the US.

Don't look on Upwork or freelancing marketplaces. Something like Toptal offers a good entry barrier and they take care of you as well.

Also I understand it's hard to do good work under those conditions, but you should try. My entry into freelancing was when I was working with an external contractor. He saw that I did an extremely good job and offered me some contract work.

<comment><USER4> I'm curious, did you notice this toxic behavior in other areas too, or just IT? To me it seems like IT has a higher percentage of assholes.

<comment><USER3> It's actually far less in IT. A close relative worked in construction. You think tech has bad harassment issues? Construction had open prostitution at work, rape jokes targeted towards the female engineers, and some people would urinate openly.

Anything with undereducated people are also quite toxic. Both the managers and colleagues often have very low willpower and get emotional over small issues, starting fights for small things, like not getting them a drink, or touching their car.

In tech, people are not so replaceable, so most companies have plenty of financial incentive to treat each other respectfully.

Startups can be a little worse than usual, because the people are younger and there's more of a "college" climate.

</comment></comment></comment><comment><USER5> This is a shit situation to be in, but honestly until you have something lined up I wouldn't recommend doing anything just yet as you don't want to compromise your only source of income. Document everything but keep quiet and focus on the other issue which is that you need another job.

> The market where I live is bad this year.

In that case you might need to consider relocation - staying in a market _that_ bad (no offer in a year of job hunting is crazy) would be a huge risk/liability anyway - imagine if you lost your next job. As shitty as this situation is, at least you are given the opportunity to look for a job on your own terms and not just suddenly shown the door.

Once you're out (and only then) you can look into getting back at them - <USER2> to a lawyer and give them the documentation.

<comment><USER6> This. I was in an extreme situation like you were (boss abusive with _everyone_ in the company, constant threats and sometimes physical abuse).

\- First, see if you can find other employees in the same situation. Being a group helped us. \- Document _everything_. Commit on git first thing in the morning, and before leaving. Write down every conversation you had right after you had them—we tend to forget very quickly. Dump your calendar and emails regularly. You can find scripts to dump Slack too. If your boss has written anything abusive them, it is also a good idea to take screenshots. \- I guess moving is not an option for your family? Otherwise start looking in other markets. \- Freelancing is a good option otherwise. I know it sucks to do this on top of your job, but you only to save enough to get yourself out of this.

Once you're out, and only when you're out, find a good lawyer. Do not hesitate to sue. It's not greed, it's reparation for the abuse. You deserve it.

Good luck to you.

</comment></comment><comment><USER7> I once had to sue an employer for wrongful dismissal over anonymous social media posts I didn't even write when I was in my early 20s in Canada and won a small settlement. Process took about 3 months but it was worth it. My lawyer told me most companies, even gigantic ones (i sued a large global airline) are extremely cheap, they have house counsel they use for everything and rarely seek out specialist lawyers which means that their lawyer(s) will be absolutely trounced by your employment specialist lawyer during every settlement meeting. It was amusing watching the highly arrogant Toronto lawyer that was parachuted in, with no experience in employment law, bungle and flounder around failing at every turn during settlement conferences with a judge.

You can refuse overtime in Canada unless you signed some work contract that says you agree to work overtime, ergo you need a real employment lawyer to go over your case. A real employment lawyer is somebody attached to an actual firm specializing in employment law and not the first search results in google, which if you check their name will also be the 'experts' in injury law, a bunch of other spam ads. All you need is a half hour call with them and possibly emailing them your work contract documentation if any exists. Of course they will tell you to start documenting everything like the rest of the comments here suggest.

As for planning an escape if your market is bad then recruiters have an even worse time, so find one and get them to help you. Establish yourself in remote freelance outfits like TopTal, CleverTech, or even Salesforce who hire all over Canada. Then ask your employment lawyer what to do, don't just quit maybe you need to file harassment paperwork first or bait them into firing you by refusing overtime.

<comment><USER8> Geniune question: Assume you sued and won. You get paid an amount of money. This is most likely leaked to the press or somewhere online. Wouldn't you be basically avoided by recruiters like a plague because they worry you'd do the same for your future employer?

<comment><USER7> Since I didn't actually do the thing they accused me of it would've been worse to do nothing, I'd be blacklisted for being known as the guy fired for supreme idiocy instead of the guy who received a signed apology letter and compensation clearing me of any involvement. You also get a reference letter to give to future employers and the company is legally bound to not tell anybody calling anything besides confirmation of employment. I would assume you could sue for potential earnings loss if some company is vindictively leaking your settlement details.

</comment></comment></comment><comment><USER9> Maybe try to develop an income via remote work?

Below is a Google doc with over 100 potential options. I have no idea how many of them are US only.

[https://docs.google.com/spreadsheets/d/1JfNAbUX_lN9K3MCNHO15...](https://docs.google.com/spreadsheets/d/1JfNAbUX_lN9K3MCNHO15GJtJ5qpk7H9Cl3xTBwv2FR8/htmlview)

</comment><comment><USER10> Sorry to hear that.

My suggestion would be to put your energy into finding a new job.

\- Do the minimum at work that you can get away with

\- Spend the rest of time looking for and applying for new jobs

\- Try to fix any problems that prevent you from finding a job

For example if it's a location thing, look for more remote-friendly jobs.

If you are not getting interviews try to debug your resume.

<comment><AUTHOR> Its mainly a location issue, I've been seeking remote jobs, but a lot reject citing no previous long term remote experience.

<comment><USER11> You can still get remote jobs if you pitch it right. Basically you need to emphasize ability to work independently and communication skills.

1\. "here is project I designed and built on my own"

2\. "our team is distributed across two offices, I collaborate with people in other office"

3\. "I wrote some code for open source project"

4\. "I help customers debug their issues over email/phone/chat"

etc.

</comment></comment></comment><comment><USER12> The first question I usually ask in situations such as this is: How much do you have saved up that you can live off of? the game theory will look different if you have a few $$ to lean on vs 0 dollars saved and kids to feed.

<comment><AUTHOR> I have about $1000 saved, which won't pay the rent ($450 shy of the 1mo rent payment).

<comment><USER13> I get the feeling that many elements of your story don't add up. How can you work 10-12 hours a day and only have $1000 saved up, especially if you're in a tech-related field? I know kids can be expensive, but they're not that expensive.

In life, unless you can learn to put away a huge pile of cash, people are just going to walk all over you. When you are vulnerable, it sends a signal and they pounce on it. Your boss will stop abusing you the moment he realizes he can't use it to control you anymore.

Save your money. Pick up new skills. Become less dependent on others. Bike instead of driving. Cook all of your own meals. Learn about investing. Get out of debt. Maintain your own vehicles. Plant a garden.

Take literally any step to make yourself more independent and your boss will lose power.

<comment><USER14> > I get the feeling that many elements of your story don't add up. How can you > work 10-12 hours a day and only have $1000 saved up, especially if you're in > a tech-related field? I know kids can be expensive, but they're not that > expensive.

Welcome to the real world my friend. Most people working in IT earn way less than you think. Way, way less. It's scary outside the bubble.

</comment></comment></comment></comment><comment><USER15> Where there's smoke, there's usually fire. Does this happen to anyone else on the team? If I were you, I'd (informally) ask others if this is a problem for them, and if it is maybe consider formally putting your foot down to the CEO.

If you feel there is any kind of legal route you can go down, I'd consider talking to a lawyer, in case there is anything that can be done. I'd also ask about the implications of being a whistleblower. One possible route could be to a local newspaper, ensuring that the entire town/city is aware that the company bullies its employees.

Failing all of this, if it's just someone being a bully, fight back. Challenge him on anything offensive he says, and respond back. Also, start cutting your hours back to the hours you're supposed to be working. Tell the boss that any failings in your work is down to him being a shitty manager, and that if he wants anything extra from you his boss either needs to put him on training, or to sack him and get someone that knows what they're doing.

</comment><comment><USER16> If you only have $1000 and your rent alone is $1450, then obviously you are in a very bad spot.

Try to save more money, because it's very difficult to change jobs if you can't even cover 3-6 months of expenses from your savings. Consider moving to cheaper apartment. If your wife is able to work, even part time, you should ask her to.

Keep doing the minimum required work to get you through your day job and spend all the time looking for new job. Go to tech conferences to try to network with other tech people in your area.

Try rewriting your CV. Do not offer to work for half your rate! That is very desperate and from the point of game theory will make you even less likely to find a job. Ask for at least your current salary or little bit more during interviews.

</comment><comment><USER17> If you are working 10-12 hours a day, expand your job search to locations which involve a 1-2 hour commute each way. (Assumption: you can find something that only involves 8 hours of work per day.) It will suck, but it will still be better than your current situation. You may be able to WFH some or move house sometime later.

</comment><comment><USER18> This happened to me with a boss I had back in 1999. The company was family owned (at the top layers). I tried talking to them, they said they would handle it. It didn't stop.

We didn't have cell phones back then that could record audio easily so I bought a micro-cassette recorder, started wearing hoodies and turned it on before entering his office (he never did it in front of others). This way I could toss it in the front pocket. I carried a notebook in front of me so he didn't see it. I got him on tape a few times being unprofessional. With this the owners had no choice but to deal with the situation and as an apology the "boss" was removed but forced to say why and apologize at a company wide meeting and my tapes were also played at that meeting.

I imagine now-a-days, this may not work but phones can record easily now.

Edit: re-arrange for better clarity.

<comment><USER19> Make sure if you do this that your state / province has one party recording laws. Some states only allow recording if all parties to the conversation have consented.

<comment><USER18> This is good advice. Thank you for mentioning it. I didn't care :-)

</comment></comment></comment><comment><USER11> Asking half market rate is signaling desperation, so it's likely to make you _less_ likely to get a job.

<comment><USER20> Exactly this. Keep some respect for yourself and seek professional employment advice. Your current work situation may expose some desperation in your market pitch.

</comment></comment><comment><USER21> Sorry to hear about that. Here are some tips:

1\. Bullies will keep punching you in the face until you fight back. You don't have to win: just fight back.

2\. You're more likely to lose your job if you're not respected and you're less respected if you don't fight back.

3\. Cutting your rates won't help you find a job: it just makes you entirely undesirable to the market segment you belong in.

If you can, consider this an opportunity to grow as a person and challenge your assumptions about interpersonal relationships. I don't know you or your situation, so I offer this as just honest advise from what I'm reading.

</comment><comment><USER22> Maybe you can do unemployment:

[https://www.canada.ca/en/services/benefits/ei/ei-regular- ben...](https://www.canada.ca/en/services/benefits/ei/ei-regular- benefit/eligibility.html)

It says the following:

You may not be entitled for benefits:

if you voluntarily left your job without just cause

Just document when your boss berates you and then use that as cause with the Unemployment office. That will give you more time to look for a job. Maybe you can contact them and explain your case.

</comment><comment><USER4> Are you actually making mistakes or does he single you out for no reason? If he is unhappy with your performance, you can ask for reassignment to something you think you would be good at.

If he is doing it with no real reason, he probably just wants you gone.

</comment><comment><USER23> This might help: [https://blg.com/en/News-And- Publications/Publication_4539](https://blg.com/en/News-And- Publications/Publication_4539)

</comment><comment><USER24> Have you explored Remote Freelance work? > [https://www.toptal.com/](https://www.toptal.com/)

</comment><comment><USER25> Hey fellow Canuck. Look up the term "constructive dismissal" and you might find it applies to your situation in a most favourable way.

</comment><comment><USER26> Have you considered moving?</comment>


Show HN: Your Location Sharing made Simple and Easy - <AUTHOR> http://blog.shaloc.com/post/2964192850/your-location-sharing-made-simple-and-easy

<comment><AUTHOR> Use invite code "hackernews" to get early access to download iPhone app. - @krisrak

<comment><USER2> Does this work only with iphone 4g? I have a 3g...

<comment><AUTHOR> It works with 3G, but since backgrounding is not supported, u will have to keep the app open while sharing</comment></comment></comment>


Remote work: Working together when we're not together - <AUTHOR> https://github.blog/2020-04-16-remote-work-working-together-when-were-not-together/ <comment><USER2> I love that whoever edited the blog post added "or [MS] Teams" to the zoom reference.</comment>


Videos of organs being harvested from living children are big on Facebook now - <AUTHOR> https://boingboing.net/2019/06/19/videos-of-organs-being-harvest.html <comment><USER2> Or not...

[https://bbs.boingboing.net/t/videos-of-organs-being- harveste...](https://bbs.boingboing.net/t/videos-of-organs-being-harvested- from-living-children-are-big-on-facebook-now/146238/21)</comment>


ESbuild – A fast JavaScript bundler and minifier in Go - <AUTHOR> https://github.com/evanw/esbuild/ <comment><USER2> It's cool to wake up in the morning and see my project on HN! For the record, I'm not trying to compete with the entire JavaScript ecosystem and create an extremely flexible build system that can build anything.

I'm trying to create a build tool that a) works well for a given sweet spot of use cases (bundling JavaScript, TypeScript, and maybe CSS) and b) resets the expectations of the community for what it means for a JavaScript build tool to be fast. Our current tools are way to slow in my opinion. Let's build faster tools!

<comment><USER3> Very cool project, do you know how this compares with Hugo's javascript minifier / bundler?

<comment><USER4> Hugo uses [https://github.com/tdewolff/minify](https://github.com/tdewolff/minify) internally, so that's the relevant comparison.

</comment></comment></comment><comment><USER5> I believe _something_ like this project is inevitable. You're probably thinking "Where's the Rust version of this?". I'll save you a roundtrip to Google that'll find you SWC. [1]

SWC is already more mature, at least more so than this project. Using rust does also seem to have some advantages compared to Go.

Still, nothing wrong with some competition, just think it'll be pretty hard to replace the _entire_ ecosystem around Typescript/Babel/Webpack in one go. Not going to work for existing project - probably way too high of a risk for new ones, sadly.

[1] [https://github.com/swc-project/swc](https://github.com/swc-project/swc)

<comment><USER2> Author here. I think the Rust vs. Go question is interesting. I actually originally wrote esbuild in Rust and Go, and Go was the clear winner.

The parser written in Go was both faster to compile and faster to execute than the parser in Rust. The Go version compiled something like 100x faster than Rust and ran at something around 10% faster (I forget the exact numbers, sorry). Based on a profile, it looked like the Go version was faster because GC happened on another thread while Rust had to run destructors on the same thread.

The Rust version also had other problems. Many places in my code had switch statements that branched over all AST nodes and in Rust that compiles to code which uses stack space proportional to the total stack space used by all branches instead of just the maximum stack space used by any one branch: [https://github.com/rust-lang/rust/issues/34283](https://github.com/rust- lang/rust/issues/34283). I believe the issue still isn't fixed. That meant that the Rust version quickly overflowed the stack if you had many nested JavaScript syntax constructs, which was easy to hit in large JavaScript files. There were also random other issues such as Rust's floating-point number parser not actually working in all cases: [https://github.com/rust- lang/rust/issues/31407](https://github.com/rust-lang/rust/issues/31407). I also had to spend a lot of time getting multi-threading to work in Rust with all of the lifetime stuff. Go had none of these issues.

The Rust version probably could be made to work at an equivalent speed with enough effort. But at a high-level, Go was much more enjoyable to work with. This is a side project and it has to be fun for me to work on it. The Rust version was actively un-fun for me, both because of all of the workarounds that got in the way and because of the extremely slow compile times. Obviously you can tell from the nature of this project that I value fast build times :)

<comment><USER6> Would you say go language is more fun to code in than rust ? How does it compare with nodejs and Typescript in terms of developer productivity ?

<comment><USER7> Not them but my personal opinion:

\- Go is more fun if you are trying to be productive and push stuff out. The programming experience feels fluid and there's not much agonizing over small details; the language is simple and you don't need to think as much about things.

\- Rust is more fun if you have a focus on perfection. It offers a lot of tools for abstraction and meta programming. These tools can be challenging at times. I do think even with NLL you will find yourself fighting the compiler, trying for example to resolve how you can avoid overlapping a borrow with a mutable borrow in some complicated bit of code, but you definitely get a lot of nice guarantees in exchange. I also do find it frustrating when something as simple as passing the result up can end up being really tricky.

<comment><USER8> There's truth in what you say, but it only describes the learning phase of Rust. Rust is quite challenging to learn and you spend a pretty long time in the uncomfortable place you describe. But one day, you end up internalizing the borrow checker's rules and you just don't think about it anymore and don't have any productivity penalty at all.

<comment><USER7> I don't know how long it takes to fully get past stumbling through borrow checking and learning the intricacies of Result but it's long enough to be a detriment. Obviously learning curve on its own is a downside, but also this complexity does not disappear when you understand it. It's similar to, but less severe than, C++, in this regard.

I also think it depends heavily on the type of program you are writing and how. I've certainly hit cases where I still don't know the optimal way of structuring things. In other cases people have managed to help me figure out what I need to do.

Concurrent memory safety is a huge plus, without a doubt, though there are applications where its not enough and applications where its too much. I think that puts Rust in a spot where it has use cases where it is clearly the best option but many use cases where it is overkill. As an example, Go shines particularly well for servers thanks to Goroutines and the fact that many servers have a shared-nothing architecture these days.

<comment><USER8> > I don't know how long it takes to fully get past stumbling through borrow > checking and learning the intricacies of Result but it's long enough to be a > detriment.

That's right, but no one expect to learn quantum physics in a few weeks either. Rust is indeed way longer to learn than Python, Javascript & others, but it's also much more powerful. And with the same level of power, both C and C++ are way harder to master than Rust (and arguably, nobody really master them in practice since even the most brilliant programmers shoot themselves in the foot from time to time. Yes, even DJB [1].

> Rust in a spot where it has use cases where it is clearly the best option > but many use cases where it is overkill.

Indeed. It would make no sense to switch to Rust if Python is good enough for the task. I was just arguing that once you've learned Rust, you can do pretty much anything you want with it without friction, and I personally wouldn't bother writing anything in Python nowadays, because I can write Rust as fast and get the static typing guarantees and sane error handling that comes with it.

> Go shines particularly well for servers thanks to Goroutines and the fact > that many servers have a shared-nothing architecture these days.

Having done quite a bit of Go, I don't agree with you. It's way too easy to accidentally share data between goroutines, and then cause data race or deadlocks . The day they introduced the race detector, we found 6 data races in our code (a few thousand loc) and a few others in our dependencies, and in the next year we found two not caught by the race detector (because it's a dynamic thing, it can't catch all races). More than generics (which are being introduced if they don't change their mind like they did for error handling) Go really need something akin to _Send_ and _Sync_ in Rust. M,.or maybe like Pony's capabilities system, but Go definitely needs improvement on that front. Multithreading is a hard thing, and Go makes it too easy to use, to people without the necessary experience (because Go is so easy it attracts a lot of junior or self-taught devs) without safety net and this generally doesn't end well.

[1]: [https://www.cvedetails.com/product/16058/D.j.bernstein- Djbdn...](https://www.cvedetails.com/product/16058/D.j.bernstein- Djbdns.html?vendor_id=9069)

<comment><USER7> \- A trade off is a trade off; no need to justify it. Increased cognitive load is a con.

\- Sorry your Go experience was bad. I can only say my anecdotal experience was the opposite. Mostly for shared nothing architectures, but I also worked on an MQ-style software in Go and had a relatively good time. I think things that are well-suited to CSP concurrency fare pretty OK. Rust could've prevented things like accidental concurrent map accesses, but it _still_ can't guarantee you are implementing concurrency correctly on the application level (from perspective of say, coherency or atomicity.) So for many apps I've written, even somewhat complicated ones, I don't feel like Rust would always be the best option. To me Rust makes _most_ sense when you really can't ever afford a memory error. Web browsers seem like an obvious winning case.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Alas, there's such a massive ecosystem at this point around Webpack and Babel and family (extra features like tree-shaking, loaders support for different things, project configurations, etc.), that I think you'd be hard-pressed to make an outright replacement take off.

What you _could_ do (and I'm surprised this hasn't been done yet) is lower some of the hot paths of Webpack itself into a lower-level language. Possibly even moreso than Webpack, Babel seems like a natural target since it has much simpler input/output.

Although one barrier I can see with that (unless it's C/C++) is requiring people to install a whole other build system just for it to be used in an npm install. C/C++ compilers generally come with the system, but Go/Rust ones do not.

Edit: further info [https://stackoverflow.com/questions/20728255/could-one- write...](https://stackoverflow.com/questions/20728255/could-one-write-a- native-node-js-extension-in-go-as-opposed-to-c#39262638)

<comment><USER10> [https://what-problem-does-it- solve.com/webpack/interoperabil...](https://what-problem-does-it- solve.com/webpack/interoperability.html) nailed head-on what I detest about Webpack and many Javascript build solutions for that matter: the burning desire to shove the kitchen sink of operations into a single tool with its own, incompatible-with-everyone-else, plugin framework and an ungodly configuration language. Where all I really wanted was a somewhat more ergonomic Make and a bunch of well-written, decoupled tools to use with it.

This is on my back burner of ideas to run with one day, but as a back-end engineer working in other langs, it hasn't quite bubbled up to the surface yet.

<comment><USER11> Several of these exist and predate webpack. Webpack became popular precisely because it _wasn 't_ grunt, gulp or npm run scripts.

<comment><USER10> And yet, look what it has become.

</comment></comment></comment></comment><comment><USER12> Actually, webpack does a lot of additional stuff that might be needed for some complex configurations, so it can't be easily replaced with this tool. But also almost 75% of the time (in webpack) is spent inside the minimizing plugin, and that is very simple task. So it would be great to have just the minimize plugin based on this tool. Then maybe investigate what other performance critical parts of the webpack can be replaced without requiring to change the ecosystem.

</comment><comment><USER13> Finally. The extreme slugishness of webpack&co has always bugged me any time I ventured into JS development, to the point of me getting immediately discouraged.

<comment><USER14> It's a natural cycle though. New bundler created that is fast and simple to use -> New features are requested and added to the bundler which makes it more sluggish -> New bundler created that is fast and simple.

I wonder how this compares to ParcelJS.

I'm a big fan of Go but there are usually fringe benefits in having the bundler written in the language that it is bundling I.e. JavaScript.

<comment><USER15> Benchmark against parcel is in the documentation. 200x faster.

<comment><USER14> That's exceptional, if the benchmarks test identical workloads and features I would definitely consider switching to this.

FWIW it may sound like I'm hostile to this framework when I'm just trying to be critical in a constructive way. I use golang as my main driver at work and find most projects in Go to be better then its common counterparts, however I have been through so many JS bundlers that I scratch my head when anyone claims superior results on (Self-declared) hobby ones.

OP should know this seems really solid and like great work. I just don't want junior devs running head first putting this in production.

</comment></comment></comment></comment><comment><USER16> If these numbers are true, it would be nice to have more documentation and tutorials. This would help the javascript community a lot.

I built a gaming computer to work with javascript codebases, true story.

</comment><comment><USER17> I think if somebody replaces webpack with something that is 100x faster has 80% of webpacks most important features, many companys would pay real money for it.

</comment><comment><USER18> I made my last webpage in 1999 using HTML tables and cut-up "design" jpgs so I am a bit out of date in this area.

I see all these preprocessors and crap for "web apps" and I wonder why nobody just writes HTML/CSS/Javascript instead of all of these other "languages" and abstractions or is the base web language now so bad that nobody touches it manually?

<comment><USER19> Desktop-to-web deserter here, I'll try to sum it all up.

\- Browsers still have bad and ugly environments. You don't have all features everywhere, even in recent versions. Things like "class Foo { static x = new this }"-level are missing, not some rare magic (like proper modules). Node.js is a different beast, despite a [vaguely stated] promise to be indistinguishable. Lots of env-neutral code written in node doesn't work in a browser as is. Think msvc vs gcc/c99.

\- CSS is just too low-level, people do like sass, less, etc very much. These have "includes", functions, variables, flow control, non-css inheritance, bem- related isolation, common shorthands for a syntax. Modular apps cannot live without that.

\- DOM is so flipping slow that it requires precise differential updates to it if you don't want to charge your battery four times a day. It is also much less "cool" than desktop ui data-controls, and it requires a framework, which usually comes from node_modules for reasons above (prebundled versions exist for syntaxless fws). Also, too few people like to write a big single html (again, no "includes" etc) and bind it to the code directly, so there is vue, jsx, pug, etc. The more you abstract it away (dom, not html), the better it is for everyone.

In terms of programming, if you want an analogy, pure browser feels like a single qbasic file on steroids, while bundlers make it feel _almost_ like a visual studio project (put here any decent ide if you don't like vs).

<comment><USER18> Thanks for this it makes it a bit more clear, but I'm now never going to touch web again lol.

It sounds like hell to me.

However, what you describe above sounds like what you need to write a full blown application. Why does one need this to display simple information like a blog or news? Tasks that I used the HTML tables stuff for. Nowadays I can enter a personal blog with maybe 100 lines of actual text but it still pulls several megabytes of javascript.

I just can't wrap my head around why all this is necessary when all you want is to display information that could be equally served by a text or html file.

<comment> grayed-down I feel your disdain! I'm an old-timer and remember complaining about using those new-fangled cascading style sheets instead of just putting everything in html tag attributes.

And don't get me started about having been forced to use div's for layouts instead of tables. In fact, I still don't understand why the html table construct couldn't have been evolved to accommodate a layout role.

<comment><USER19> What is funny, both grid and flex still fail at some use cases. For one, grid is unaware of "media print" and cannot paginate itself (that was a big facepalm after an hour of preparing). It is also 10k rows/cols max by definition, 1k max by a common implementation. Can't style gaps too. Otoh, flex is non-tabular, so you cannot simulate both with just one. I also met some trouble with inner flex scrolling ("overflow-xy" hierarchy forwarding issues), but these details I forget as fast as I meet them.

The entire css thing is overly situational. In a generalized model, any problem is solved by a finite set of building blocks. In css, any problem except few premodelled ones is a pile of hacks and worms that never get back into a can.

</comment></comment></comment></comment></comment><comment><USER20> I was thinking that a parser and tokeniser distributed as wasm could increase the build speed while maintaining the js part for customisation. But this is a full fledged native bundler. Though less flexible it's incredibly fast!

</comment><comment><USER21> This is really cool - our dashboard uses Vue for the frontend and a Go backend. Everytime I deploy, I think about how insanely slow the frontend 'compilation' \+ unit tests step is compared to testing and building the Go code. It's one of the things that makes Go a joy to code in for me.

On a similar note, we have some services written in Python and I was doing some research for some static type checking tools. At least in my testing, Pyright (written in Node) outperforms the pants out of similar tools written in Python. Using Go to bundle + minify Javascript sounds perfectly reasonable to me.

</comment><comment><USER22> reading the go code is a true pleasure and great resource to study the language further.

</comment><comment> globular-toast I've been using parcel because it's the only thing I know and I always thought it was slow but it claims to be fast and I'm new to js so I took it's word for it. According to this it's the slowest of the lot, though. Why does it claim to be "blazing fast"?

<comment><USER2> Yes this was a surprise for me too. The benchmark I used for esbuild deliberately tests full build time without a cache, since that is an important metric to me. I assume Parcel is talking about incremental build times when the cache has already been populated. In that case I'm sure Parcel is not as slow.

</comment></comment><comment><USER23> > Parsing, printing, and source map generation are all fully parallelized

I think this the major cause of speedup. Now that NodeJS supports WorkerThreads, it can be done in parallel. Along with this if right choice of data structures used there is no need to depend upon writing a build manager in another language instead of host language.

Also, as of today JS(V8) performance is getting closer to Go runtime.

[https://benchmarksgame- team.pages.debian.net/benchmarksgame/...](https://benchmarksgame- team.pages.debian.net/benchmarksgame/fastest/go-node.html)

<comment><USER24> _> I think this the major cause of speedup._

This simply can't be true. On a 4 core laptop you might expect parallelism to provide up to 4x performance. But this has 75x / 200x performance, that must come partly from other reasons.

<comment><USER23> First of all you didn't even care to read I also mentioned that choosing the right data structures also. ;)

You are deluded by the benchmark posted too. I terms of different build process steps that library isn't doing as much as other js build frameworks.

<comment><USER24> I understood your phrase "the major cause" to mean majority reason, that couldn't be true since the remaining difference is greater. If you meant something different than that, then I misunderstood you. We both agree that the remainder of the performance (the bulk of it) must come from other reasons than parallelism.

As well as your suggestions (doing less work, choosing the right data structures) - I would also propose (A) no V8 JIT warmup time (B) no need for fstat on many node_modules files (C) fewer AST passes (D) possibility of value struct types => less boxing => lower GC pressure (E) less dynamism/no plugin architecture.

</comment></comment></comment></comment><comment><USER25> Superb project. Did you try comparing against Packem. We leverage Rust as a backend for the bundling and resolving phases:

[https://packem.github.io](https://packem.github.io)

</comment><comment><USER26> Nice work! Building from scratch without any caching is not the build time devs will be seeing 99% of the time, so it's probably not the best benchmark.

<comment><USER27> How fast is an incremental rebuild with webpack though? That esbuild finishes from scratch in .5s (though probably with the code previously loaded from disk) means it'll still likely be the fastest.

Posters up thread claim that minifying is the slowest part of webpack, so presumably that's pretty consistently slow relative to input size.

<comment><USER26> You don't need to minify during development, so like building from scratch I'm not sure how much it matters for a practical benchmark.

I don't at all doubt esbuild is faster than the others, just in practice I doubt it's as much faster as the benchmark suggests.

</comment></comment></comment><comment><USER28> Yass. This is a really well written go codebase. Go read it and see what life was like before the framework kids showed up.

<comment><USER29> Eh. I've been working in the industry since before the framework kids showed up. I've seen plenty of truly awful C++, C#, and COBOL codebases.

</comment></comment><comment><USER30> how does this compare with SWC made with rust?

</comment><comment><USER31> Go is such a strange choice of language for this kind of thing compared to something in the ML family.

<comment><USER4> Yes, think of all the great tools written in Haskell, like pandoc and uh… a second example someone will reply to me with that no one has ever fucking heard of.

<comment><USER32> Nah, the second one is also pretty popular.

[https://www.shellcheck.net](https://www.shellcheck.net)

<comment><USER4> Well, I can say I have heard of it. It still strikes me as a pretty much trivial tool compared to the bazillion things written in Rust and Go in the last five years, but it's better than nothing.

</comment></comment></comment></comment><comment><USER33> Can we drop the "in Go" in links like these? I don't really see how that adds any value to the end user.

<comment><USER34> The thing that caught my attention about this post was specifically that it's a JavaScript bundler _not_ written in JavaScript. The "in Go" in this case made the difference between my noticing and skipping a very interesting submission, so I think it's relevant.

</comment></comment><comment><USER35> X in Go seems to be the new Y in Rust.

I am curious to know what is the benefit of doing this in Go?

I thought that the reason why webpack is complex is because the whole JavaScript ecosystem is complex with respect to the ES20XX standards. I fail to understand how rewriting the logic in another language is going to reduce the complexity.

Speed is important, sure, but certainly not at the cost of correctness!

<comment><USER14> I think X in Go preceded Y in Rust by several years.

In short Go is a simple language with minimal syntax and explicit design patterns that make it very easy to read and understand once you've learned the ropes. It's a typed and compiled language with all the benefits that entails, with great concurrency support.

It's standard library is fantastic, compile times are great (one of the original goals for Go was to reduce c++ compile times at Google), with out of the box support for networked/web applications on the standard library.

Finally the community for Go is very strong with things like the gophers slack channel which is insanely popular and friendly.

<comment><USER35> Haha, yes.

Thanks, I'll certainly check out the gophers community.

As the sibling points out babel/webpack are like compilers of JavaScript world so reducing compile times have a huge impact on developer experience.

I am just wondering where does the complexity of juggling various ES* standards go? Also, the webpack plugins and loads of config examples might require this project to support additional complexity. Will the compiled/typed nature of Golang make it difficult to correctly maintain parity with babel/webpack?

I am really looking forward to learning golang this year. I am almost done ~~suffering~~ learning JavaScript/React + CSS3/media-queries this winter.

<comment><USER14> Browsers lag so hard behind the ES standard that most developers are using shims provided within Babel or Typescript to use the features early. Normally you specify whatever ESNext features your using in your tsconfig, webpackconfig, babelrc, etc.

I'm not sure if the implementations are always formalized such as the shim you use is identical to whatever implementation that major browsers end up going with.

Ultimately you just end up bloating your bundle because you need added code in your shims for backwards compatibility of these advanced features.</comment></comment></comment></comment>


10 UK StartUps changing forever how restaurants are managed - <AUTHOR> https://www.bizimply.com/blog/10-uk-restaurant-software-companies/ <comment><USER2> Great article. We love Simple Order at our restaurant in London!</comment>


Discover how JustFab works referral-miracles with a vanity URL] - <AUTHOR> https://www.cloudsponge.com/blog/justfab-referral-program/ <comment><USER2> Jay from CloudSponge here if anyone has any questions about this one.</comment>


"aristotle: the knowledge web" By W. Daniel Hillis - b-man http://www.edge.org/3rd_culture/hillis04/hillis04_index.html

<comment><AUTHOR> Freebase is interesting. I have played with it since the beginning, and I spent a lot of time with it recently because I just wrote a chapter for my new book on Freebase.

Freebase compares a little with DBpedia in that users contribute data to both (for DBpedia this is indirect since Wikipedia metadata is automatically scraped).

For me, Freebase became easier to use when they started generating RDF for queries.</comment>


Los Angeles to Spend $30 Million on iPads for Schools - <AUTHOR> http://www.pcmag.com/article2/0,2817,2420688,00.asp

<comment><USER2> A huge injection of public money into an unproven educational tool - with the profits flowing to a corporation well able to afford the cost should it have any faith in the efficacy of the approach.

<comment><USER3> How do you know that Apple didn't prove their efficacy to the city?

You're comment comes off as incredibly naive - why should Apple have to foot the cost? Are you suggesting that all technology products should be given for free to educational institutions unless they're educational efficacy can be proven?

I fail to see how this is different from schools buying desktop or laptop computers. They're still computers running applications - which is where the true educational component comes into play. If the software is worthless than sure, it's probably pointless but with a working software solution than why can't this be effective?</comment></comment>


Thounds Day - One day of workshops, coding apps and live music. - <AUTHOR> http://www.ulule.com/thoundsday/

<comment><USER2> Crowdfunding a 2.0 event, smart</comment>


Regulatory Comments and CEO Skill - <AUTHOR> https://www.bloomberg.com/view/articles/2017-12-13/regulatory-comments-and-ceo-skill <comment><AUTHOR> > [...] What is the lesson here? I mean it is probably the great lesson of our > times, the maxim engraved over the entrance to the internet: Don't read the > comments.

> [...] The obvious implication is that every company's CEO is better than > every other company's CEO. No wonder they all get paid so much.

> [...] Perhaps if you are really into crypto, the skull and crossbones looks > like a good sign.</comment>


Ask HN: Revolut account frozen – this has to be illegal? - <AUTHOR> Hi
This is my first post (will post screenshots eventually)
So
I decide to move to revolut and start using them for some of my spending.  After a few months I passed my 30k top up limit for the year. I then proceeded to send proof of income and all that sort of stuff onto them . Within a day my limit was lifted to 70k within 1 year .
All was going well , I was telling all my mates to get the app as vs a normal bank, interacting and using revoult for daily spending was amazing  ( especially the premium service ...which I paid for ) until some time in September/October . My account suddenly was frozen .
I contacted support via in app chat and they asked for me to yet again prove my income . I happily obliged.
So here is the bit that drives me up the wall and cannot be legal and if it is it shouldn't be .  The live chat support turned around and told me that they were closing down my account as they did not  like how I was spending my money. They then refused to go on a phone call or tell me any further details . Then then insinuated that I was engaged in unlawful behavior.
Then the kicker is ....I can no longer use the in app live chat .
So all those with revolut , stop using it . They are an absolute joke and shouldn't be allowed operate if they can just suddenly close peoples accounts ( I know they are not a bank yet , I think they got a license in the uk in the past month but thats beside the point) and insinuate that their paying customers are engaged in illegal activities without providing evidences and I am no lawyer , but you cant just go around accusing people of being a criminal ( I am not , I am a college student studying Theoretical Physics)   .
I will post screenshots at some point , but be warned I do loss my cool. <comment><USER2> They actually can, will, and are often legally obligated by regulators to shut down any accounts with suspicious activity for AML reasons. Not sure what you were using them for, but as a Theoretical Physics student running 70k through their service, it's likely you were pushing the limits of what was acceptable. If you're going to play this game, be prepared to deal with the consequences.

<comment><AUTHOR> U made the assumption that a theoretical student wouldn't have that money to spend (leave your bias at the door , u dont know my age ) . I sent proof of income to them 2 times . They were happy with that . Just didnt like how I was spending my money ... Which I think is absurd and in live chat they flat out insinuated I was engaged in unlawful activities. They then wouldnt do a live phone call, banned me from asking questions on facebook ...

The thing is revoult is a great platform , I loved them . Now if they ever end up becoming even bigger I am bared from the platform . So thats where I have a major issue .

<comment><AUTHOR> Also u say anti money laundering ... see u cannot just ban people on suspicion epsically when your officially now a bank . Also if I was doing illegal stuff hahhah why would I complain online

All purchases where done in retail stores . My bank never had a problem with it . I moved to revoult as the ability to get costume cards , live chat (as a premium customer ) and turn off your bank card if u lost it and get a new one within 3 days

</comment></comment></comment><comment><USER3> > I am no lawyer , but you cant just go around accusing people of being a > criminal

Isn't this exactly what you're doing to Revolut with this post?

Honestly, chalk this one up as a loss and count yourself lucky that you didn't get funds frozen or lost because of this.

<comment><AUTHOR> I was asking a question not making not making a acquisition . Two different things. Cant loss your funds man , I am in the eu . Now that would be illegal .

</comment></comment><comment><AUTHOR> Actually a small fact I forgot to mention . They banned me from commenting on their facebook page

</comment><comment><AUTHOR> Ok I am new here and is have been brought to my attention that I have gone about this the wrong way . So let me start again and do this properly (unable to edit post) I used revoult for a period of about 5-6 months . I used it for part of my spending, then eventually moved over all of it (note my bank account with a normal high street bank never had any issues with my spending , as there is nothing illegal about it )

Technically the app had no flaws that I noticed .

So reasons I moved to revoult : 1.Customer support was great via live chat (especially if you paid for premium, as you would get preference in the line to speak with a customer support agent ) 2.I am a very risk adverse person so , I use my main bank account to protect my savings and I avoid using my debit card at all costs as if any money was very taken out by someone else using my card it would be very difficult to get it back (ie if any fraud ever occurred). The traditional alternative to this problem is to use a credit card , but I didn't want to have pay off a balance at the end of every month (as if I forget it could be very costly for me ) . This is where revoult suited perfectly . I just set up my revoult as a payee and sent money to it via my main bank account and this provided the layer of protection I wanted. 3\. This ties in with the 2nd part . Revoult allows the user to deactivate ones card via the app. This was a brilliant feature that I loved as it gave me that piece of mind. 4\. Replacement cards, they would arrive within 1-3 days which is brilliant . 5\. Could have up to 3 cards attached to an account. Since I regularly forget which pocket I put my wallet in I just put the cards in my wallet, in one of my coats and last one in my room as spare (just in case) 6\. I love data , so the ability to track all my spending habits in one place (could see shop name, time of transaction and amount) was excellent. Then the data also was available in pdf form for me to print of at the end of the month or when ever I wanted . I think you could also transfer data to excel or google sheets . I am aware this is a double edged sword as they are getting lots of priceless data on a users spending habits , but this was a cost I was willing to put up with (for anyone who watched the show the prisoner , starring Patrick McGoohan , I would say you already feel like your living in the village )

These are the main reasons I used revoult . So on to the issues I had.

As expected I had to prove my income once my spending was fully moved over. I had no issue with this . I actually preferred it as it gave me the feeling that they were more legitimate.

So after I passed 20k (limit was 30k at this point ) I asked to raise the limit and they happily did so (went to 70k ). Then after a few months my account was suddenly frozen. I asked what was wrong . They said my account was under review . I sent in all supporting documents (even though my bank never asked for this kind of stuff) and then was told by an under qualified customer support person that they didn't mind my source of income , they just didn't like where and how I spent my money . The support staff then insinuated that I engage in illegal activities ( and therefore implied I was a criminal ). I asked to speak to someone higher up as this person was not reading my messages properly. They were not aware of what their messages where implying . I was then passed on . Was given the same response that they do not like how i spend my money . I requested a phone call on many occasions . Was refused (which I think is a major problem if your company is now a bank )and then blocked from using live chat .

So to conclude . I went above and beyond what is reasonable , when it comes to proving that income was legitimate and that my spending was legal ( I have never been accused of illegal spending , I spent all the money at high street stores ). I was refused any phone calls and had my account suspended. I am no legal expert , but soloy on principle I find this to be wrong.

I had great hopes for this start up . I just find it very dangerous when you are at the whim of others.

</comment><comment><AUTHOR> I will answer any and all questions

<comment><USER4> To answer my one and only question:

"Revolut Ltd is a UK financial technology company that offers banking services including a pre-paid debit card, currency exchange, cryptocurrency exchange and peer-to-peer payments."

And founded by two Russians.

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

<comment><AUTHOR> Could u clarity what u mean/ are asking ?

<comment><USER4> Not asking anything :)

Just noting that it's a financial services company founded (run?) by two Russians, and, reading through the Wikipedia article, with some parts facilitated by a Lithuanian bank. Taken individually, not really that noteworthy, but I'd be wary of doing any business with such a setup.

<comment><AUTHOR> hahahah yes your 100% correct, but I still think its important that people know that this start up are assholes and if they are going to become a bank ...God help us

<comment><USER4> Just to be certain: You got your money back/out, yes? If so, name-calling isn't productive (rarely is), and there's approximately 10 squintillion other banks you could choose, so uhh... cut your losses (can't write on their FB page? Those _monsters_!) and let them worry about their Lithu-Russian online crypto-enabled Super-Duper-Bank :)

And report them to company house, I guess?

<comment><AUTHOR> Good point about the name calling , but u cant just silence people on facebook and in your app if your a company without good reason ( this aint the ussr). Yes I got my money sent back to me . I am off to bed ( its 02:31 where I live atm)</comment></comment></comment></comment></comment></comment></comment>


You made app for Android, iOS, Windows - what about the UI? - <AUTHOR> http://www.theregister.co.uk/2013/02/25/cross_platform_abstraction/ <comment><USER2> Not sure I agree with the prediction:

> My prediction is that Xamarin will come up with its own GUI abstraction > framework in future, along the lines of SWT. It is a compromise; but one > which delivers a lot of value to developers who want to create cross- > platform apps with the maximum amount of shared code.

This will almost certainly create the 'uncanny valley' which the author refers to in an earlier paragraph.

I consider the fact that Xamarin has two APIs for the two platform UIs a real advantage. You can still write your business logic once - so the time to create an iOS and Android app reduces from 2 to 1.x, and you still get the benefit of a fully native feeling app.</comment>


Show HN: 入(rù-lang) – Clojurized JavaScript - <AUTHOR> http://ru-lang.org/

<comment><USER3> Same idea, but a bit more mature: [https://github.com/lantiga/ki](https://github.com/lantiga/ki)

Edit: Actually, it's completely different... I was too fast to judge upon reading: a new language built with mori+sweetjs for easier javascript interop

But it might still be of interest to people here

</comment><comment><USER4> I would feel uncomfortable to use the quotest to define something, like:

        fact 'defn arity func'

I think it would cause problems to have a good syntax hihlighting in the text editor.

<comment><USER5> This is not a definition; it's a string with the description of what is being tested. Analogous to this code:

      it("contains spec with an expectation", function() {
        expect(true).toBe(true);
      });

<comment><USER4> After re-reading the post it looks more like the helper in the lisp functions declarations.

       (defn fact (n)
           "factorial calculation"
           ...)

<comment><USER5> NOTE: It's the first time I see the code.

Actually, `fact`, `should`, etc. seem to be macros, as provided here:

[https://github.com/jcouyang/ru/blob/master/macro/ruspec.sjs#...](https://github.com/jcouyang/ru/blob/master/macro/ruspec.sjs#L1)

And following lines. It is a bit of syntactic sweetness over a preexisting testing framework. And I'm not convinced that they should be macros.

Unless sweet.js does something really original, macros are generally not first-class. You can't pass macros directly as parameters to functions, for example. I'd rather use macros to allow for nicer function call and attribute access syntax, in general, instead of special casing tests.

After taking a closer look at the language, I have some doubts. As of right now the language seems to be a random set of features that the author found cool implemented as Sweet.js macros, with the rest of JavaScript syntax unchanged. It would be a library in a Lisp world, even in Racket I don't think this level of functionality would be enough to justify writing a #lang.

At least two of the implemented features shouldn't be macros: into and fact/should because they then become second-class objects. You can't, for example, use `into` as an argument to `map`. Shorter lambdas are fine, personally I feel that the `=>` syntax native to JS is enough for this - <USER2> that's a matter of preference.

All in all, it looks like a very early attempt and there's still much to implement and improve. Have fun with this, OP! :-)

</comment></comment></comment></comment><comment><USER6> What do I use this for? \- confused out of touch javascript dev

</comment><comment><USER7> nice execution of an interesting idea!

i see removing the parens as an effort to rid the 'lispy' feel to the language, but how do you go about lexical scoping without parens like clojurscript or indentation like coffeescript? For example,

      fact 'init variables and return expr' {
        should let(a=1,b=2){a+b} => 3;
      }

to what point will the let bindings be valid?

<comment><USER8> Presumably until the closing curly brace.</comment></comment>


Sitting for long periods of time is the cause of 4% of deaths worldwide - <AUTHOR> http://sciencebulletin.org/archives/5515.html <comment><USER2> Yes, Working is the new smoking!</comment>


Just Landed Is Shutting Down - <AUTHOR> https://medium.com/@jongrall/just-landed-is-shutting-down-629765cbe1d7# <comment><USER3> From the article:

 _While the app was initially used primarily by individuals who made a few airport pickups per year, today Just Landed is increasingly used by professional limousine and taxi drivers, airline professionals, and travel companies._

So they were seeing increasing use by commercial users. Sounds like a ripe opportunity to start charging for such access.

<comment><USER4> No kidding, this was the weirdest shutdown statement I've read in a while, "we found users who derive commercial benefit from using us... so we're shutting down"

<comment><USER5> I think he did touch on that though. Essentially he's selling bread, and he's got to buy scarce flower at high prices in a convoluted system from a small number of farmers, and be forever at the mercy of the flower selling farmers. Only it's data instead of flower.

Further, the data sometimes is bad and causes inaccuracy issues for customers without him knowing, this causes lots of complaints that he has no control over, something that isn't feasible when charging money to commercial users. Not just that, but the price of data is ever increasing, free data is becoming restricted and he needs to restructure as data suppliers go out of business or restructure their API.

I mean there are obviously solutions, like generate his own data etc. But it really looks like he's got other opportunities to earn a living and this isn't the lowest hanging fruit for him.

What I DO find strange is why he's not selling it. I just can't imagine not at least one of the company's he's buying data from wouldn't buy this at a discounted price if need be. Some money is better than nothing.

<comment><USER6> Creator of Just Landed here. Actually, I have been approached by a number of companies over the years about selling Just Landed, including some household names. The trouble is, almost none of them wanted the app – they just wanted me as an employee. These weren't companies I could get super excited about working for - especially since I love being an entrepreneur and working for myself. Of the few who did want the app or the tech, their quality bar/taste wasn't a good fit, and I worried about how they would treat my users. It was never about the money. Time is my most valuable scarce resource.

<comment><USER7> Thanks for building this, I've been a low-volume user since sometime in 2013. I'll miss it, but completely understand your reasoning.

</comment></comment></comment></comment></comment><comment> old-gregg This sucks for us long-term users of Just Landed. I want to congratulate John for making something people _clearly_ wanted. Apparently sometimes that's not enough...

This jumped out at me:

 _"...Just Landed has outlived several of the services that it originally depended on, and each time a service provider has disappeared..."_

This statement refers to the less than 4 years old app, which speaks volumes about value proposition of for-subscription-cloud-based APIs. Just Landed is a relatively simple, focused app built by a small team, yet in this short time it has suffered several (!) hits from disrupted availability of the API providers.

How can one expect to build a big business based on considerably more complex software using such APIs?

Compare that to the pains Microsoft has historically gone through to keep ABI compatibility with decade-old systems. I even have doubts about long-term availability of half of AWS services.

Kudos to John for running Just Landed for so long.

<comment><USER8> My buddy enjoys rendering weather data. Using just one source- NOAA - he has to update the app several times a year to respond to their capricious, random changes to web interfaces, server names, random hosting requirements and so on. Its a real thing to factor into any data-repackaging app.

<comment><USER9> Assuming you mean iOS app which is hard to update instantly. Maybe he would benefit from creating his own middle-man server-api that the app talks to. That way he just needs to update the server-code and the app will still get the right values.

Just some thoughts, maybe it doesn't apply.

<comment><USER8> Definitely a good idea for walled-garden environments. No, he's on Windows desktop and mobile. Not a showstopper there.

</comment></comment></comment></comment><comment><USER10> "The first thing that makes running Just Landed difficult in the long-term is a serious lack of innovation in the flight data industry."

Our company shut down because other people didn't innovate enough, not our fault.

"An app like Just Landed relies on access to high quality flight data to function correctly. "

We created an app based on data that doesn't exist. Not our fault, somebody else failed to create that data.

"Traffic and mapping data in particular, much of which used to be free, has become quite expensive, and is now tightly controlled by big companies under oppressive Terms of Service."

Other companies refuse to give us free services, and want to keep their valuable data restricted under oppressive terms of service. Not our fault, how could we expect that people wouldn't give us free stuff?

"These power users consume 100–500 times as much flight data per year as casual users, and so the cost of supporting will soon begin to overwhelm revenue from new app sales."

We failed to price the app correctly, since we're charging a one-time fee for a continuous service, but hey, not our fault again, who would have thought that people who buy our app would use it?

"Essentially, there's a massive oversupply of apps, and the app markets are now saturated and suffering from neglect and short-term thinking by the companies who operate them."

There's too much competition! Seriously, it's all the competitor's fault, lowering prices as if there's no tomorrow. How can we be expected to make money with such cutthroat, dog eats dog competition?

Seriously, what a completely lame excuse. [Edit: that was unnecessarily harsh, my apologies]

Sorry for my rant, I guess I'm in a bad mood today.

<comment><USER11> "what a completely lame excuse"

A little harsh. 'Not our fault' and 'beyond our control' are not the same.

I read the reasoning to be a more pragmatic appraisal of the predicament they found themselves in - "Just Landed, ... has been on the wrong side of these trends"

<comment><USER10> Edit including an apology for my harshness.

But on the other hand, the key failure point for the app is pretty obvious: its revenue is a one time fee, and the costs are a function of how much people use the app. Based on the post, they clearly mispriced the app, since it depended on new sales to fund existing customers.

This isn't very different from a pyramid scheme (without the intention to fraud, naturally): you need to keep growing indefinitely to stay afloat, clearly impossible. When sales flattened (which they did) the company would go bust (which it did).

Another way to look at this is treating a sale as an annuity. If I sell an app for $10, expecting users to use it for 10 years with a 10% WACC, this would be equivalent to receiving a $0.13 subscription fee from each customer over the 10 years.

Therefore, if your variable cost per customer is higher than $0.13/year, you're in serious trouble. Even if it's lower, you might still not break even.

<comment><USER12> I doubt if users would have paid much for this kind of App. As its use-case seems to me, a cousin of lot of other free apps like maps (directions), which are done by giants. So basically its something which people need, but have mental categorization of it as a near-free thing.

For roughly the same amount of effort, that you put in this app, you could have a flight search engine. Where you will get something per transaction.

Not taking away from the app. From what I read here, it seems it was nicely done, and must have been quite useful. But its about how much people can pay per transaction (if I can call it that.). Freemium ad based model, has been the dominant Internet culture so far, for information from the web. That is a big barrier, in my experience for these kinds of apps to do well.

</comment></comment></comment></comment><comment><USER13> I'm always curious why companies like this one choose to charge for their app as a one time fee when, to support the app, they have to subscribe to data feeds which cost money per month. I feel like you have to have a subscription model for that unless the price per month is just so low that, with a small amount of volume, you can easily make up for it.

Either way always an interesting write-up. I do find it odd that so many in SV use the term "sunset" when their company is shutting down. Seems like a weird spin.

<comment><USER14> From a purely practical standpoint, it's easier to charge for the app and let Apple do the billing and payment processing, than to set up a system to handle recurring billing (and then you need to deal with cancelations, chargebacks, etc.). I've gone through this thought process for a few side projects, and unless I anticipate really large MRR, it's hard to convince myself to go through the hassle of setting up subscriptions.

<comment><USER15> Apple supports in-app purchase of subscriptions, so you can still use the standard App-store tools to handle recurring billing.

<comment><USER16> I think they're restricted to certain types of apps, though? The app review guidelines[0] say:

> "Apps may only use auto-renewing subscriptions for periodicals (newspapers, > magazines), business Apps (enterprise, productivity, professional creative, > cloud storage), and media Apps (video, audio, voice), or the App will be > rejected"

I assumed that's why so many iOS apps use non-recurring billing instead. You can still sell access to your service, but users have to manually purchase at each subscription interval.

[0] - [https://developer.apple.com/app- store/review/guidelines/#pur...](https://developer.apple.com/app- store/review/guidelines/#purchasing-currencies)

<comment><USER17> This app did sound to me like an enterprise business app. So I agree with other commenters here that the author didn't pivot soon enough to business users.

</comment></comment></comment></comment></comment><comment><USER18> I know there's a big push against Not-Invented-Here-Syndrome, but he makes a good point about how a lot of small apps and websites depend on services that drastically change or disappear over the course of a few years. I wonder if in some cases it's better to simply develop an in-house solution for a service — it may be more expensive and less refined, but at least you know that service will be there as long as your company is.

<comment><USER19> To me it would make sense to go airline by airline (or datasource by datasource as long as they're tied to something users will understand), do the full integration, then advertise which airlines you support. Then you could guarantee a good experience for every officially supported airline. Additionally, as you do this you're building tech that is super valuable (sounds like only 2 other people have done it?).

Real estate data is similarly messy and though we have a small engineering team (3 full-time programmers), we decided to roll our own data integrations with each of the MLS systems we connect to. For us, it came down to the fact that we could provide a better user experience this way (faster, more complete listing data) and that it fits with our approach to product development. Rather than using a data middleman to turn on 50% listing coverage across the entire US, we pick a city or region and piece together all of the listing sources so that when we go live in that region we have extremely high coverage. We then only advertise to users in those areas.

<comment><USER20> The sad part is that we really need to completely displace/replace the MLS in its entirety. The value prop is there, as is the technology, but it would take a marketing miracle to convert everyone to a new system. Still, it is genuinely amazing that there isn't a better service for it.

</comment></comment></comment><comment><USER21> This is possibly the most interesting fumblebrag that I've read in a while. It has a few issues which have been hot on HN recently as well as some age-old problems.

The dependence on third-party services like maps, messaging, flight data, etc. is an interesting topic. Services that help you to get up and running in a couple of clicks are awesome at first. But they can become a burden when your usage goes up beyond a trivial amount. This is a great lesson about thinking ahead when choosing third-party providers - either by passing the expense along to your customers or having a roadmap to phase them out when you hit a certain volume.

Another point is the one-time pricing which, in my mind, is somewhat of a ponzi scheme for a business model. I always cringe a little when I see a cool new app with a "one time payment for life!" pricing. You just can't support customers forever with a single lifetime payment unless you are earning revenue in some other way (i.e. advertising). It's easy to think that you'll continue to gain more customers forever, but you're setting yourself up to be crushed by your own success. Unless you're planning on regularly releasing new apps and/or in-app purchases for your customers to purchase, it's not a long- term business model.

Sorry to see the Just Landed go - it looked like a cool app. I think there is a lot to learn from this post so thanks to the author for posting.

<comment><USER22> In theory, you can charge your average lifetime value upfront.

In practice, for a good app the lifetime benefit to users vastly exceeds what anyone would reasonably pay upfront. For example, I've paid hundreds of dollars to Dropbox over the years (and feel like I've gotten well over $1,000 of value)—but I would have totally balked at paying even $200 on signup.

<comment><USER21> That is true, and to make matters worse it's probably near impossible to figure the right amount out when you've just started the company. You don't always know how people will wind up using your app.

</comment></comment></comment><comment><USER23> The #1 reason why this app failed is because people like me, and especially my mother, who would have been a power user...did not know it existed until this Medium post. Your problem has less to do with the app itself and more to do with how it was promoted and marketed.

<comment><USER24> He addressed that. Discovery is broken on most app stores

<comment> rm_-rf_slash Maybe the Medium "we're-shutting-down" post will become the occasional "hey world we exist" strategy.

<comment><USER25> Ah the good old Closeout Sale con.

</comment></comment></comment></comment><comment><USER26> Active users = check Value delivered = check Inability to develop profitable GTM plan = check

I didn't read about funding in the article, but outside of $ a VC or Angel will provide a network and path to solve GTM challenges AND get you in front of the right people for an exit.

I'm sure if this app called an Uber/Lyft timed to plane landing it could find a home...

</comment><comment><USER27> > With well over 2 million apps by now (officially 1.5M as of July 2015), the > iTunes App Store is an incredibly crowded place where it's almost impossible > to get noticed. Despite the persistent myth of the app developer > millionaire, it's extremely hard to make a profit—let alone a living—as an > iOS app developer. The Google Play Store is a similar story, except with the > added bonus of rampant piracy and a zillion devices to support. There really > isn't gold in them hills, at least not anymore, and independent app > development will soon be in sharp decline, if it isn't already.

Is this true? Is the app store deceiving developers by pretending that earnings are better?

<comment><USER6> I wouldn't go as far as saying that Google and Apple are actively deceiving developers. However, they do have a strong incentive to keep things the way they are, and to keep the end user ignorant of how the app economy functions.

You might be surprised to know that many customers on the App Store, and even some members of the press, seem to think that apps being featured by Apple have been bought by the company. I would get emails like: "how have things changed for you since Apple bought your app?"

If people knew how bad the app economy has become, there'd be far fewer app developers than there actually are, and the device makers would have a serious PR problem on their hands.

In the end though, I do believe that the short-term thinking I alluded to in my post will soon come home to roost. I do hope that Apple and Google course- correct before we end up in a situation where indie apps are a distant memory. It's in their long-term interest to keep the App Store diverse and the app economy healthy.

<comment><USER28> I wouldn't be surprised if it was more possible to make money on the Windows side - not so much with Windows Phone as with Windows Universal apps on both the Desktop and Mobile Windows Store.

The ending of "Project Astoria" that could have let some Android apps run on Windows 10 Mobile has undoubtedly hurt Windows Phone because of the dearth of good apps, but that same lack means that a quality application could still be a smallish fish in a small pond rather than a minnow in a large lake - <USER2> with the disparity in adoption 1% of the smartphone market is a significant number of devices. If an app is also something that's viable as a desktop or tablet app, that may provide enough of a larger market over time to keep some folks in business.

</comment></comment></comment><comment><USER29> Sad to see companies like this go. The founder stated in the article above that the cost of the data being expensive was part of the demise, I wonder if croud-sourced solutions such as [https://flightaware.com/commercial/flightxml/](https://flightaware.com/commercial/flightxml/) (FlightAware) was ever used. That said any time I walk into an FBO or look on the screens for arriving or departing flights in general aviation, FlightAware data is the only thing I see people use. It could be because FlightAware owns the data (which is crowdsourced in a similar fashion to WeatherUnderground stations) they provide a service that Just Landed simply can't compete with.

As with anything in Travel outside of actual aviation aspects these types of services such as just landed, to me, feel more like Value Ads than core products. I personally just use google to track the flight of an arrival and can do it from my phone's browser by typing the flight number in a google search box.

<comment><USER30> Since a screenshot of the Just Landed app shows up in the image carousel on your link, I am assuming that they used FlightAware for their data. FlightAware charges people for API access, and also specifically provides a set of tools for FBOs ([https://flightaware.com/commercial/fbotoolbox](https://flightaware.com/commercial/fbotoolbox)).

<comment><USER29> Oh cool, thanks for sharing that. I was curious why I kept seeing the same FlightAware page when i land in almost any small airport.

</comment></comment></comment><comment><USER31> Question about flight data and the middlemen:

Do these middlemen have to strike deals with the various airlines, or are they simply accessing public APIs that generally stink? What order of magnitude, cost wise, do these airlines charge in the deals? Could I, $random_guy, make a deal with $random_airline, for an amount that is sustainable without any special kind of funding?

<comment><USER30> In what is probably the biggest case, FlightAware, a lot of the data comes from a fleet of users running ADS-B[1] receivers feeding data into their system. ADS-B data is what Air Traffic Control uses to track planes, and it's receivable using using a cheap TV tuner and a raspberry pi[2]. It ends up being probably the best way to track planes very precisely, as long as you can get enough coverage, which flightaware manages to do pretty well [3]. They then package this data and sell it via an API/tools for Fixed Base Operators or apps like Just Landed.

[1] [https://en.wikipedia.org/wiki/Automatic_dependent_surveillan...](https://en.wikipedia.org/wiki/Automatic_dependent_surveillance_%E2%80%93_broadcast) [2] [http://flightaware.com/adsb/piaware/build](http://flightaware.com/adsb/piaware/build) [3] [http://flightaware.com/adsb/coverage](http://flightaware.com/adsb/coverage)

<comment><USER32> I'm from FlightAware...

Our network ADS-B ground stations is one of our fastest-growing data sources, but we also get data from the FAA, other national aviation authorities (UK, Australia, Eurocontrol, Central America, etc.), directly from airlines, satellite avionics providers, etc. Live flight tracking is a deceptively difficult problem - on the surface it seems as if you could simply collect data and regurgitate it (that's what I thought before I came onboard), but there is actually an enormous amount of processing and inference based on sometimes incomplete, inaccurate, and conflicting data, even for mainline airline flights. That's not even getting into GA or flights in areas of the globe where we lack complete coverage. It's a really interesting set of problems!

</comment></comment></comment><comment><USER33> Typing a flight number into Google gives you everything and more this app offered.

</comment><comment><USER34> I can see something like this being able to work without paying for access to a flightaware api or something similar as ADS-B rolls out fully. A lot of aviation companies still pay hefty fees to tap into ATC data, that will essentially be made free. ADS-B Out broadcasts identification, position, altitude...

With more aviation geeks out there supplying the data, people won't be reliant on centralized sources of info.

[http://www.aopa.org/Advocacy/Air-Traffic- Services-,-a-,-Tech...](http://www.aopa.org/Advocacy/Air-Traffic- Services-,-a-,-Technology/Air-Traffic-Services-Brief-Automatic-Dependent- Surveillance-Broadcast-ADS-B)

<comment><USER35> Interestingly, "aviation geeks out there supplying the data" are how the FlightAware API you mention gets much of its data:

[https://flightaware.com/adsb/coverage#data- coverage](https://flightaware.com/adsb/coverage#data-coverage)

[https://flightaware.com/adsb/piaware/](https://flightaware.com/adsb/piaware/)

With a bit of promotion your idea could work and in fact... It does!

[http://www.adsbexchange.com/](http://www.adsbexchange.com/)

[http://global.adsbexchange.com/VirtualRadar/desktop.html](http://global.adsbexchange.com/VirtualRadar/desktop.html)

Also, ADS-B rollout isn't entirely necessary. It's possible to triangulate places with the older Mode-S transponder through MLAT as long as you have enough receivers in the area.

<comment><USER36> Thanks for sharing this. This looks like a really good alternative to flightaware, if the data is accurate.

</comment></comment></comment><comment><USER37> You may want to try to sell this thing man.

<comment><USER38> Exactly. The business is worth 5-figures, easily.

</comment></comment><comment><USER39> Yeah; unfortunately this is not a space that's super profitable. There used to be a bigger need for it; but airlines have gotten a lot better about communicating delays to customers, so I'm not sure this kind of app is necessarily needed anymore.

Even the "leader" in this kind of app -- TripIt -- has basically been reduced to a free giveaway for users of Concur's (owner of TripIt) corporate travel booking platform.

</comment><comment><USER40> This cries out for Apple to support update pricing. However the likelihood of that every happening is less than giving the NSA a backdoor. Update pricing would make Apple money (not that it needs it) and change very little but the desire is zippo to bupkis to do it. This would allow smaller companies to survive. Oh well, doubtful it rises to the level of anyone caring.

<comment><USER41> Paid updates would be a disaster. Can you imagine giving every two-bit developer the power to say "this update costs $0.99" and all they did is change the font. Your phone would be a sea of shitty paid updates. Many customers would not update their apps, and the user base would become fragmented. Customers would become wary of buying apps for fear of being ripped off by endless updates.

You may say "ah but the good developers wouldn't do that" but unfortunately someone's always gonna piss in the pool.

The current buy-once model is better. Subscription/IAP model is better for something like this.

<comment><USER42> > Can you imagine giving every two-bit developer the power to say "this update > costs $0.99" and all they did is change the font

That's... how it's ALWAYS been. They can even do that now by just launching the new version as a separate app and removing the old one.

</comment></comment></comment><comment><USER43> So, they went broke because the industry didn't standardise their data so a third party could scrape it for fun and profit.

Talia, is that you?

\--

"An app like Just Landed relies on access to high quality flight data to function correctly. However, since the airline industry is extremely fragmented, and uses antiquated IT systems and many incompatible data formats, it is not practical for a small independent developer like us to negotiate data-sharing contracts with each individual airline, and then unscramble their jumbled data feeds into a usable format at a reasonable cost."

</comment><comment><USER44> I would have just charged more money for the business users, and make more revenue. But then again, it's probably one of many little things that ultimately led to this decision.

</comment><comment><USER45> Does something like this have any value to an acquirer even if just to keep the lights on and no cash is involved?

<comment><USER6> Lots of people have asked me this, or suggested it. I have been approached by a number of companies over the years about selling Just Landed, including some household names. The trouble is, almost none of them wanted the app – they just wanted me as an employee. These weren't companies I could get super excited about working for - especially since I love being an entrepreneur and working for myself. Of the few who did want the app or the tech, their quality bar/taste wasn't a good fit. It was never about the money.

</comment></comment><comment><USER46> Not as nice as having an app, but can Google for the flight to get some of the same info.

E.g. Google for CX5992: [https://www.google.com/search?q=cx5992](https://www.google.com/search?q=cx5992)

</comment><comment><USER47> He brings up some interesting points in the article, but I think the real reason for failure is 1) creating a niche app rather than a scalable one, and 2) not aligning the business model correctly.

</comment><comment><USER48> To bad, app with the best landing page on the web is going away...

</comment><comment><USER37> Do you plan to pivot to become one of these airline data brokers?

<comment><USER29> As much as it might feel like selling out to the founders of this product, providing the tech in white-label or licensing to travel groups such as Kayak for example could of been a way to at least keep the doors open.

<comment><USER49> You will typically find things like that in the product portfolio of a GDS.

</comment></comment></comment><comment><USER50> I wish I would have known about this before it shut down, but this is a great idea for Trains as well. Just Arrived.

<comment><USER6> I actually considered generalizing the app along these lines, for just about any in-person appointment that you have to keep.

<comment><USER50> That would be a great idea. I guess you would have to have a buffer to cover longer than usual appointment times. That type of app could be used for so much too. Parents dropping their kids off at the movies, it would give them the travel time for when they need to come back based of the length of the movie.

</comment></comment></comment><comment><USER51> It was a beautiful app and I'm sad to see it go, good luck on your next big thing!

</comment><comment><USER52> Noooooo! I love Just Landed and my family and I all use it :(

</comment><comment><USER53> Tangential, but the flawed "android rampant piracy" article made an appearance here again.

It's flawed because as an app developer, you don't have a way to tell if the app hitting your servers is legitimate or not. Just counting:

        (sold copies) - (unique hits on our server) = pirated copies

..is not even close to accuracy.

What about reinstalls? What about developers/tinkerers who are probably flattening their devices on a regular basis? What about one person with multiple devices?

<comment><USER54> >What about reinstalls? What about developers/tinkerers who are probably flattening their devices on a regular basis?

IIRC Google gives you access to all that information in the Google Play dashboard, and for my apps, "reinstalls"/device upgrades were very rare.

<comment><USER53> Presumably that feature can only work if you redownload the app from the Play store. If you're restoring a backup or using any other method, it won't get counted.</comment></comment></comment>


Uber in landmark court battle on Tuesday to escape strict rules - <AUTHOR> https://www.yahoo.com/news/uber-landmark-court-battle-tuesday-escape-strict-rules-182639293--finance.html <comment><USER2> I'd be more in favour of Uber if it wasn't screwing over drivers. I knew drivers in New Zealand who switched from regular taxi companies and ended up making a lot more on Uber. No where else in the world have I had a former taxi driver as an Uber driver.

I know in Seattle, drivers make a fraction of what they made 2 ~ 3 years ago. I wonder if those NZ drivers are still doing better than with a taxi company.

Uber is trying to expand greedily. If they just paid their workers more and slowed down, I'm sure they'd have a lot more public support on their side.

As of now, I'm taking the Stallman stance of not using Uber. The other day I just waited an extra 20 min to take the bus, then walk, rather than getting a Lyft or Uber.</comment>


Show HN: HackerTweets - <AUTHOR> http://hackertweets.herokuapp.com/

<comment><USER2> Are these tweets from people on HN, tweets with certain tags, both, neither?</comment>


I've been asked to change my app name, what can I do? - <AUTHOR>

I've got a kids book on iOS that has a(very)similar name to a BtoB app on OSX (for developers). I'd like to change it and not be an ass, but its a very generic name firstly. And secondly the name fits my book perfectly as well as the naming convention of my new and future books. Has anyone else had this issue? How did you handle it? Thanks, Dave. <comment><USER2> In the UK they'd need to show that your app would cause confusion for consumers detrimental to them, and that'd be almost impossible if one's a kids book and the other is a dev app on another platform. It all depends on where they're threatening to litigate.

<comment><AUTHOR> Well I'm in the uk, but all business is really done in the US. So who knows. No threats, fairly civil so far. Thanks for the feed back!

</comment></comment><comment><USER3> Well, the first thing I'd try would be to argue that, given the difference in platform and target audience, there's no significant likelihood of confusion. Assuming unreasonability on the part of the B2B developer, I'd then find out whether they have a trademark on the name; if not, they likely have no recourse, while if so, it's worth both parties' time to consider whether an infringement case is worth the time and effort to mount (for the dev) or defend (for you).

<comment><AUTHOR> Yeah there is a lot to take into account, I really just dont want to step on folks toes. Though the feedback I'm getting so far is certainly in my favour. Thinking more and more using generic words to name your software is silly if you're worried about other people using similar words in differing order. For example the difference between calling something Cat in the Hat, and CatintheHat. Thanks for your feedback.</comment></comment>