Ask HN: Confidence, how does one go about getting it? - <AUTHOR> After reading some articles such as: http://www.timesonline.co.uk/tol/news/article1084093.ece it seems that a recurring theme in becoming successful and rich is confidence, among other things. I would like to get my confidence to the level described in the article. How can I do this? How have you guys done it? <comment><USER2> Become successful and rich. Or at least more successful and richer than you were before.

This is unfortunately recursive, but that's the way it works. You try something at the edge of your ability and accomplish it. Because you were successful at that, your confidence goes up. Then you try something harder, accomplish it, and your confidence goes up again. If you happen to fail at something, lick your wounds and try again.

Eventually, you don't need to play mindgames with yourself, you just realize that you're completely capable of doing what you set out to do.

</comment><comment><USER3> Always challenge yourself and make little, concrete steps towards achieving bigger goals.

I think it also depends on whether your confidence comes from within or without. For example, does one need external praise for something one has done in order to gain confidence? Or is it enough to just personally feel that a goal set has been well-accomplished?

Becoming successful and rich inspires confidence in a spiral, like what other posters have said. Faking it but always have something real--be it facts, good estimates, faith etc. behind to back it up also helps, I think.

Can't say I'm successful and rich, but I am confident and that probably came from doing things and getting positve feedback about them, and from inspiring quotes along the lines of, "Confidence, or the lack of it, is entirely up to you yourself."

</comment><comment><USER4> A long time ago something clicked for me and I realized other people have only as much power over you as you grant them, and the main thing standing in the way of your own success is yourself.

IMO/IME confidence comes mostly from realizing that almost all failure modes are, in the grand scheme of things, impermanent and insignificant.

Worry less about what others think, worry less about most consequences, and just attempt whatever interests you. Pay attention to your mistakes and incorporate some learning from them in to your next attempt.

</comment><comment><USER5> Do something you are good at. For instance programming. If you're a decent programmer, practice and experiment with that until you're really good at that. Read about Flow. To become a better programmer, I try to take some absurd idea I have floating around, like an automated Growl notification every time HN puts up a new tweet, and make it. I use languages like Ruby to get it done fast and to remove any stupid obstacles like linking errors and missing includes and yada-yada-yada.

In essence: get better at what you love to do.

</comment><comment><USER6> Make something and get someone to buy it. I worked for quite a while on a side project but always had doubt until the first sale. People giving you money for something you made is a big confidence boost.

Teach. I've taught a college course for a semester and was the main trainer/teacher on a product/api we developed. Teaching others something you know will make you aware of how much you do know and how well you know it. And it is enjoyable if you don't mind the public speaking part.

</comment><comment><USER7> I recently experienced a dramatic increase in my confidence level by realizing one fundamental fact:

I don't need other people's approval to make me happy. I derive my happiness from things that are very personal to me.

This leads to knowing exactly what I want, not caring about other people's approval and generally not _needing_ other people or some particular thing to happen to get what I want out of life.

I now look people directly in the eye and its funny because you would have sworn I had aspergers before this.

</comment><comment><USER8> Achieve things, even small things.

Achievements incrementally build confidence.

</comment><comment><USER8> <http://www.timesonline.co.uk/tol/news/article1084093.ece>

</comment><comment><USER9> One quick step (if not the only one): Exercise. It won't solve all you're problems, but it will make you feel better including about yourself. You don't have to go to extremes -- just "get in shape" and make it a regular (I'd suggest daily) routine.

View it as a first step. It may make you comfortable enough to take some of the subsequent actions you seek.

</comment><comment><USER10> At the office: realize that if you don't have confidence, you are unlikely to get actively anywhere further (promotion, enhanced responsibilities).

In a word, cross the door, then people will hold it open for you. The opposite doesn't work.

For everything else: as said by others, plan, iterate, think, correct, repeat.

</comment><comment><USER11> Be really good at something that people care about.

</comment><comment><USER12> One hack I've heard of is to fake it.

Fake it, at least at first. It's a way of bootstrapping yourself into truly being confident. Act like someone that is confident, and do it enough, and pretty soon you my find that gosh you've actually become pretty confident!

</comment><comment><USER12> It's for sale on the Internet somewhere, I'm sure.</comment>


Anne Wojcicki: 'This is the way the world is going' - <AUTHOR> https://www.ft.com/content/96398fde-78b7-11ea-9840-1b8019d9a987 <comment><USER2> De-paywalled: [https://archive.is/6TUbs](https://archive.is/6TUbs)

<comment><USER3> 403 error.</comment></comment>


How to bridge two calls with FreeSWITCH (for a click to call app) - <AUTHOR> http://guayal.posterous.com/how-to-bridge-two-calls-with-freeswitch

<comment><USER2> A nice alternative to the hosting solutions twilio and voxeo

</comment><comment><USER3> I hate to say this, but how is this hacker news? A (good) tutorial, sure; but I fail to see why this is getting upvoted. What is the rationale for the upvotes?

<comment><USER4> I upvoted it because it's nice to see technical information about voice rather than just more hype about Google Voice. I also think Asterisk could use some competition.

<comment><USER3> Fair enough, thanks for the explanation.</comment></comment></comment>


The conventional wisdom about how clones age is probably wrong - <AUTHOR> https://www.theatlantic.com/science/archive/2017/11/dolly-sheep-clones/546614/?single_page=true <comment><USER2> Summary:

> Clones do have unique health problems, just not the ones that dominated > headlines about Dolly. Clones are less likely to make it to term in > pregnancy, and when they are born, they are more likely to be a little > maladjusted. "You have to baby them—give them oxygen, give them glucose > until they normalize," says George Seidel, who studies animal-reproduction > technologies at Colorado State University. The clones that make it to > adulthood are generally pretty normal.

<comment><USER3> If you're going to quote one paragraph, I think the following is more interesting:

" _In 1999, scientists published data suggesting Dolly's telomeres were too short for her age. Since then, scientists have cloned a whole menagerie of animals: mice, horses, cattle, pigs, dogs, and so on. Studies of their telomere lengths have turned up every possible result: Clones have shorter telomeres, clones have longer telomeres, and clones have normal telomeres—depending on the species or cloning technique._ "

This seems to suggest that telomeres might be much less connected with aging than initially believed by some researchers.

</comment></comment><comment><USER4> It sounds like most of the problems that clones have had are epigenetic and that they could be eliminated with better techniques.

</comment><comment><USER5> There was an article on HN a few months ago claiming every neuron in a human brain is genetically unique (my interpretation was that this was due to random errors). So essentially, you won't be able to find a single cell to clone a multicellular organism with any accuracy -- you would need to take a large number and average out the variation to get a reliable estimate of the original zygote's DNA. (And perhaps pump of telomere length as well, or make any other adjustments that would happen consistently across cell divisions).

<comment><USER4> The unique mutations in your brain and immune system too are induced during development. The body needs variation in neurons so they can recognize themselves millimeters away and not connect with themselves. And it needs immune cells that recognize a wider variety of proteins than could be encoded directly in DNA. So somehow mutations are induced in specific genome regions in the brain and immune system.

Which isn't to say that mutations don't play a large role in other cells. The average child has at least one mutation but usually they don't do much. Well, doesn't do much or means the zygote is totally nonviable and so never results in a pregnancy. Having children when you're older will tend to increase the number of mutation, especially for men where their gametes are produced throughout their lives. A cell from, say, someone's skin will tend to have even more mutations but that's a quantitative thing rather than a qualitative one.

<comment><USER5> > The body needs variation in neurons so they can recognize themselves > millimeters away and not connect with themselves.

Do you have a source for this? How would a neuron with a mutation be any different from the outside in terms of its axons?

<comment><USER4> Sorry, no. I was really fascinated that the brain had all this genetic diversity and eventually I was able to ask a neuroscientist at a party why it was there.

</comment></comment></comment></comment><comment><USER6> I don't understand how it happened that all countries banned clonning. Ethuanasia is ok but cloning is banned. So your gov better kill you for your taxes than allow you to reproduce more efficiently. Or is there secrete laboratories where can I clone myself? There are less and less reasons why not to try this.</comment>


Ask HN: Where is a good place to find IT contract or indie jobs? - <AUTHOR> HN has jobs section, but it is not for short-term contract jobs. Looks like craigslist has some such kind of job posts, is that a serious place to look for short-term contract jobs for indie devs? Anywhere else? <comment><USER2> There is often a freelancer/seeking freelancer section on HN. But I have found that the internet is a poor place to find contracts. Local meetups and previous co-workers tend to be the best place to start.

<comment><USER3> Agreed. Last gig (5 years) came from a reference from an old co-worker, whom I had contacted at Christmas with a cheerful family-update email. When he was asked to be Architect on a new product, he declined and redirected them to me.

Another gig came when I got a joke-mail mass mailing from another old co- worker. I saw the source domain was a local company I knew, and replied "Don't see you around here; where do you really work?" Turns out they had a branch office in his city. But anyway, he said "Jerry was asking about you; here's his number, call him". Called him instantly; there was lots of yelling and cheering going on. He says "We just got funding; having a party! Want to work here?" I pause a millisecond and replied "Yes. When do I start?"

I guess its called 'networking' but I've never deliberately done it; it just happens.</comment></comment>


Edeliver – Deployment for Elixir and Erlang - <AUTHOR> https://github.com/boldpoker/edeliver <comment><USER2> I just wrote a guide to use eDeliver to deploy Phoenix projects: [https://www.gitbook.com/book/dustinfarris/phoenix- continuous...](https://www.gitbook.com/book/dustinfarris/phoenix-continuous- deployment/details)</comment>


Recommendations API - <AUTHOR> https://developer.bestbuy.com/documentation/recommendations-api <comment><AUTHOR> I work as a developer on the API team at Best Buy, and we're trying to open up our data in ways that will (hopefully) be useful to folks outside of Best Buy. Please feel free to comment on anything you especially like or dislike.

<comment><USER2> Where did the idea for the API come from? At large companies that like I imagine upper-management sees things like this as a cost center, which can make it difficult to try and innovate.

<comment><USER3> heres to avoiding bankruptcy! somehow i find myself rooting for the underdog in an internet world.

<comment><USER4> Best Buy is the leader in the retail market for consumer electronics.

</comment></comment></comment></comment><comment><USER5> Having worked as a developer for several large retailers I have inevitably pondered whether a public API would be of any value to either the developer community or the business itself. The Gallery[1] offers a small number of use cases but I still have trouble grasping how upper management, as forward thinking as they may be, would see any ROI for the time and effort required to establish and maintain such a large, brittle piece of software. Not to mention the risks of potentially providing tools for competitive advantage to others in the electronics space (however few there may be nowadays) or a security slip of some kind.

At any rate, kudos to the team for trying to move the industry forward.

[1] [https://developer.bestbuy.com/gallery](https://developer.bestbuy.com/gallery)

<comment><AUTHOR> Thanks for the kudos! I'm a relative newcomer to the group; we have some great programmers and product folks who have been growing this for years now.

You raise a number of interesting points. Our view is that by sharing our data, we can create an ecosystem in which third parties can make apps and services that make a better overall experience for the customers, and of course we hope that we'll benefit from that, however indirectly. The risks are relatively minor: our code is small and our team is small, so we don't cost much. And at least for now, we're not really serving up any data that you can't see on bestbuy.com, so we're not (yet) facing any large security issues.

As for the use cases, I really think people are just starting to scratch the surface of what you might do with data from a very large retailer.

</comment></comment><comment><USER4> I've been using Best Buy's API for 4 years now. My first API key was registered on 1/31/11 at 2:24 pm. It is crazy it has been this long. This is the site I built using the API: [http://boominaudio.com](http://boominaudio.com)

The BBY API is awesome. I've especially liked the stores API. I've grabbed the location of the user, and then mapped out products that are in stock near them and use the Google Maps API to show people products on a map relative to their location. The data that is pulled from the API, is then stored in Memcached for like 6 hours. I actually store the product data in MySQL, but certain things are pulled dynamically on the fly, like the product reviews data.

<comment><USER6> Nice audio site. Let us know if you would like us to feature your site in our gallery. Email us at email@example.com to discuss the process.

<comment><USER4> That would be great. I Hope to speak with you soon.

</comment></comment></comment><comment><USER7> Are there any plans to deploy the same API to FutureShop.ca?

My understanding is that they are one and the same company under different roofs. I worked in the Canadian west-coast Bestbuy warehouse and we shipped product to both BestBuy and FutureShop stores, sometimes with stickers from the other store still on it.

Bestbuy.ca and Futureshop.ca even share a remarkably similar design, though BestBuy.com does look dissimilar to both bb.ca and fs.ca.

<comment><USER8> Anecdotally homedepot.com and homedepot.ca are developed by totally different teams. I wouldn't be surprised if Bestbuy is too.

</comment></comment><comment><USER9> Black Friday is coming up in a couple months. How fast can this buy stuff for me?

</comment><comment><USER10> Coolest thing. Nice work.

<comment><AUTHOR> Thanks! I encourage you to check out [https://developer.bestbuy.com/get- started](https://developer.bestbuy.com/get-started), register for a key, and give it a try.</comment></comment>


Saudi Money Fuels the Tech Industry. It's Time to Ask Why - <AUTHOR> https://www.nytimes.com/2017/11/06/technology/unsavory-sources-money-fueling-tech.html?hp&action=click&pgtype=Homepage&clickSource=story-heading&module=second-column-region&region=top-news&WT.nav=top-news <comment><AUTHOR> Paywall bypass: [https://outline.com/bYxycH](https://outline.com/bYxycH)</comment>


Is the bubble back?  Bleeding red CampusU Files for IPO - <AUTHOR> http://www.thealarmclock.com/mt/archives/2007/06/collegiate_soci.html <comment><USER2> _CampusU has filed to go public on the Nasdaq where it plans to raise $28.8M._

Doesn't this further argue that going public is beside the point? The point is making money, and when you're that small, the whims of investors can wipe you right out. Another reason Google doesn't split its stock.</comment>


Ask HN: Vim vs. sublime like editros? - <AUTHOR> Hi. What's your opinion about using vim in today's practice?
When there are moden editors with easy to manage plugins and packages why what's the use of vim?<p>How many of you guys are using vim? Plus also in a GUI aspect modern editors look better than vim. <comment><USER2>
      :s/tro/tor/

vs.

      click backspace backspace "or"

I use vim exclusively, and vi before it, since vi was introduced a million years ago.

I only want to master a few tools, and vim works everywhere. When working over ssh in a terminal session vim will be there.

There's no best or perfect editor (or language, or any kind of tool). Use what works for you, master a few tools, hope that you pick tools that work in lots of contexts for a long time.

<comment><AUTHOR> True vim is pretty good working via SSH and whorks anywhere</comment></comment>


Ask HN: How to find a lead gen expert? - <AUTHOR> Hi HN,
I'm involved in a business called Coze (www.cozelinen.com), a luxury linens brand (towels, duvets, blankets, pillows, etc.). We are a subsidiary of a large UK wholesaler called Gailarde which supplies the likes of Travel Lodge, NHS and the Ritz.
We spent a lot of money on the design and build of the website but to our disappointment have done very little sales on it (under 10k). We tried some lead generation through Google, Facebook, influencers and print magazines and spent around £5000 for a £3200 return. However, we have very limited knowledge about online marketing and we don't have any in-house specialists.
So, we're looking to hire someone externally to help us with website conversion optimisation, funnel optimisation and lead generation in order to increase our sales. We want someone with experience and a proven track record. I'm considering trying Upwork but I've used it before and it's difficult to differentiate between different experts.
How do you guys go about finding lead gen experts or does anyone have any suggestions of someone you've used that you recommend? <comment><USER2> There are a lot of scammers out there around this area. Unfortunately this is not an area that is easy to outsource. If you try, you usually end up paying somebody £5k, of which they pocket £1k for non productive ads. But fortunately it is learn-able with the old college try.

I run a very successful agency. I don't do consulting, but if you put your email address in your profile I'll give you a 5 minute assessment.

\--

What scope are you looking at? UK only, or other geo's too?

What scale is meaningful for you? £1m rev? £10m rev? £100m rev?

What are your #1 or top sku's in terms of popularity / profitablity ?

Who are your closest comparable companies? we have "Boll and Branch" here in the US. are there others that have brand awareness in UK?

<comment><AUTHOR> Also, I found this guy on Reddit and was impressed with his knowledge and results:

[https://www.reddit.com/r/marketing/comments/4sbu78/im_a_22yo...](https://www.reddit.com/r/marketing/comments/4sbu78/im_a_22yo_thats_making_800010000month_doing/)

Here's his up-work profile: [https://www.upwork.com/freelancers/~01d666ef2195a368dd](https://www.upwork.com/freelancers/~01d666ef2195a368dd)

Any thoughts on this?

</comment></comment><comment><USER3> When you say _funnel optimization_ , which side of the funnel are you talking about? And I am wondering if you really need lead gen or just a better idea of who your target customer is. Very specific target customers are usually easy to find....but you have to make sure you know how to talk to them, meaning, your towel page is selling "comfort and softness with upmost absorbency" but your customer might want to buy "looks great in your bathroom and the color won't fade"

<comment><AUTHOR> I agree and this is what we want whoever we hire to do as we currently don't have the skill-set/human resources to test out the different propositions.</comment></comment>


I wrote a Siri Proxy using Twisted - any thoughts? - <AUTHOR> https://github.com/wrboyce/sirious

<comment><USER2> Nice! I was thinking of implementing then I thought let me Google "Siri twisted" first.</comment>


Great & free tool for automatically testing even heavily ajax driven webapps - <AUTHOR> http://seleniumhq.org/

<comment><AUTHOR> i've been using this for large ajax driven web apps and websites. saved tons of time.</comment>


C-Sky: A $6 Linux dev board with HDMI and USB - <AUTHOR> https://c-sky.github.io/docs/gx6605s.html <comment><USER2> These are based on the Nationalchip GX6605S SOC, which has no mainline support, but C-Sky maintains a kernel supporting it[1].

It also seems to have buildroot support if you want to whip up an embedded platform based on it[2].

[1] [https://github.com/c-sky/linux-4.9.y/](https://github.com/c-sky/linux-4.9.y/)

[2] [https://patchwork.ozlabs.org/patch/734596/](https://patchwork.ozlabs.org/patch/734596/)

<comment><USER3> How is it that all those cheap boards are always based on chips without proper support?

<comment><USER4> Because that would make them expensive. The cost of those boards isn't in the hardware, it's in the people writing software and the QA that comes with it.

<comment><USER5> That's not the case. You must anyways be able to support them to get anything done so the software things already exist.

It's just that they don't bother with sharing those docs in English since it's Asia only pretty much.

<comment><USER4> No, that's not how it works. Doing proper support means getting your code mainlined and written and tested according to the rules. Doing a dirty port with crappy code that still runs is easy and cheap. Delivering a crap fork and not updating it a year after release is common because of this, same goes for a lot of commercial stuff.

<comment><USER6> Exactly. That's why I'm excited for La Frite. Gets price, mainline support, and performance.

[https://www.kickstarter.com/projects/librecomputer/la- frite-...](https://www.kickstarter.com/projects/librecomputer/la-frite-open- source-fries)

<comment><USER7> fancy

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Serious question. Given the recent story [0] about spying, how much trust would put on something as obscure as this implementation of a single board computer?

The lack of trust is not yet mitigated with wide adoption by communities outside of China.

[0] - [https://www.bloomberg.com/news/features/2018-10-04/the- big-h...](https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how- china-used-a-tiny-chip-to-infiltrate-america-s-top-companies)

<comment><USER9> China is an imaginary country that never existed. The Chinese people you see in the U.S. territory are all droids. I'd rather do business with the North Koreans.

<comment><USER10> What if this guy is right?

<comment><USER11> If he's Finnish chances are that he doesn't exist as well ;)

[https://skeptoid.com/episodes/4573](https://skeptoid.com/episodes/4573)

</comment></comment></comment></comment><comment><USER12> FWIW, C-SKY architectural support was recently pulled: [http://lkml.iu.edu/hypermail/linux/kernel/1810.3/03389.html](http://lkml.iu.edu/hypermail/linux/kernel/1810.3/03389.html)

<comment><USER13> Pulled in this context means pulled into the tree, not removed as the common parlance might indicate, for those who were a bit confused like myself.

<comment><USER14> Wouldn't the correct (or, at least, less confusing) term then be "merged" if that's the case?

<comment><USER15> "pull" is a git command to merge and update

[https://git-scm.com/docs/git-pull](https://git-scm.com/docs/git-pull)

</comment></comment></comment></comment><comment><USER16> There are a lot of cheap linux dev boards out there now, to the point where I had trouble finding a list of boards that met my requirements[1]. There is almost certainly a sub-$20 board out there with what I need, but I ended up using an RPi just because it was "cheap enough" and had what I needed.

1: In this case, analog audio out, 1 host-side USB port, and 6 GPIOs.

<comment><USER17> The Pi Zero W is my default for the same reason, and most of mine were all of $5 due to sales at Microcenter. It's pretty hard to beat that unless you need more CPU power.

Add an industrial MicroSD card for ~$15 (to prevent the infamous SD corruption) and it's still at the $20 point but far more reliable and versatile than many of the alternatives.

Even some of my microcontroller boards cost more than that, and you can still program the Pi boards "bare metal" if you really want to, because they're popular enough that people have already done the work to make that possible.

P.S., even with a Pi Zero (W or not), you can hook up a tiny I2S audio codec board for a line level[1] or amplified[2] audio output.

[1] [https://www.adafruit.com/product/3678](https://www.adafruit.com/product/3678)

[2] [https://www.adafruit.com/product/3006](https://www.adafruit.com/product/3006)

<comment><USER16> Thanks, I didn't know the Pi Zero had I2S pins brought out; kind of funny that the unamplified board is more expensive (though just from the picture it's easy to see why; the amplified board is relying on the inductance of the load for filtering _and_ it lacks the phone jack).

</comment></comment></comment><comment><USER18> Only 64MB of RAM?

In 2013 I bought [https://en.wikipedia.org/wiki/CHIP_(computer)](https://en.wikipedia.org/wiki/CHIP_\(computer\)) for 10E including shipping.

ARM Cortex-A8, WiFi, bluetooth, GPIO, i2c, 4GB NAND drive, 512 MB of RAM

Serious question: given that the hardware is open, why is nobody replicating the same thing at a similar price?

<comment><USER19> 2013? That wiki link says the release date was 2016, but the company "had entered insolvency. Many customers still had not received their pre-orders". Sounds like it wasn't profitable to create such cheap devices?

</comment></comment><comment><USER20> It costs 39 CNY plus 9 CNY for domestic China shipping (total just under 7 USD):

[http://m.zrumg.top/h.3PwbrnB?sm=9f6f7c](http://m.zrumg.top/h.3PwbrnB?sm=9f6f7c)

<comment><USER21> why not this: [https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18365...](https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-18365545946.2.27e337f32mS9mV&id=556322544984)

<comment><USER20> It's the same Taobao listing.

The link I pasted was from the 'share' feature in the Taobao app. I think they use these obfuscated domains so that the pages don't get blocked from opening when opened from a social media share. WeChat for example won't open Taobao links in the internal browser.

EDIT if I 'share' and choose 'SMS' as the destination, the Taobao app puts a regular link in the clipboard:

[https://taobao.com/awp/core/detail.htm?id=556322544984](https://taobao.com/awp/core/detail.htm?id=556322544984)

</comment></comment></comment><comment><USER22> Interesting that they put a full blown XX32F103 there for jtag and still use a CH340 for serial. They could easily use the F103 for both, to bring the cost down (save on USB conn, 12mhz crystal, serial IC, etc). That's savings of 0.30 USD right there.

<comment><USER23> They probably reused jtag and serial from different projects, which makes sense for a V1. If it is popular, I am sure they would implement the changes you list.

</comment></comment><comment><USER24> newest gx6605s dev feeds:

[https://gitlab.com/c-sky/buildroot/-/jobs/113874636/artifact...](https://gitlab.com/c-sky/buildroot/-/jobs/113874636/artifacts/browse/output/images/)

make from buildroot: git clone [https://gitlab.com/c-sky/buildroot.git](https://gitlab.com/c-sky/buildroot.git) cd buildroot make csky_gx6605s_br_defconfig make

USB host controller is OHCI+EHCI in kernel drivers.

HDMI is a very simple framebuffer driver in [https://github.com/c-sky/addons- linux/tree/master/addons/dri...](https://github.com/c-sky/addons- linux/tree/master/addons/drivers/video/fbdev/nationalchip)

</comment><comment><USER25> No networking it looks like.

Whenever I see these dev boards (and I have dozens), I'm always tempted to just use a cell phone.

Does your project need networking? A battery? A display? Bluetooth? Try cobbling together an arduino like solution and you'll spend > $50. You can buy a smartphone with wifi and touchscreen running android for $10.

<comment><USER26> Where can you buy a smartphone with wifi and a touchscreen for $10?

If the answer is "used", then I could also buy something like this $6 board used for $0.06 in a few years, so that doesn't count.

<comment><USER27> Walmart and Target in the US sometimes have closeout sales on their $30 prepaid smartphones that brings them down to the $10 range. They are a huge loss leader even at $30 because they expect you to sign up and pay for at least a few months' service.

</comment></comment></comment><comment><USER28> What's the power consumption like? I don't see many potential benefits other than that, compared to similarly priced Allwinner based SBCs which are more powerful and better supported currently.

Also for a dev board, there's not much GPIO/other interfaces like I2C or SPI.

<comment><USER29> It does say this: _" The 5V1A is powered by JTAG and UART micro-usb, so no additional power interface is required"_

A fair amount of monitors and TVs have a USB port, so it would make a decent digital signage solution. Assuming you want your content just as files on a thumb drive.

</comment></comment><comment><USER24> [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/?h=v4.20-rc2)

This kernel also could work with gx6605s, you can ref: [https://gitlab.com/c-sky/buildroot/-/jobs/113874636/artifact...](https://gitlab.com/c-sky/buildroot/-/jobs/113874636/artifacts/browse/output/images/)

dts and kernel-config

</comment><comment><AUTHOR> There is also an article on CNX:

[https://www.cnx-software.com/2018/11/12/c-sky-linux- developm...](https://www.cnx-software.com/2018/11/12/c-sky-linux-development- board-gx6605s-media-soc/)

</comment><comment><USER30> Why using XX32F103C8T6 instead of its complete model at specification of UART?

<comment><USER31> Probably because they don't care if it's made by STMicroelectronics or by GigaDevice. Most likely it is made by GigaDevice, but maybe they thought calling it a GD32F103C8T6 would be meaningless to many people and calling it an STM32F103 would be dishonest and so this was a compromise. Or maybe they found a third source that would have an even less recognized name.

How did things work back in the day of (official) second-sourcing? Did you just refer to a MC68000 even if you meant generically any of MC68000/HD68000/MK68000/etc? I guess it helped that it had such a unique model number and any of them could just be referred to as a 68000. I guess calling this a 32F103 would be the equivalent in this case.

</comment></comment><comment><USER32> Is price a really big deal for these? Do you buy them in bulk for something?

<comment><USER33> Is the price for anything a big deal?

<comment><USER32> It depends, that's why I'm asking. There isn't much difference between 6 or 12 or 24 to me for something you buy one of, especially if $24 gets you something much better (e.g. I'd rather buy Orange PI that supports Android). But even +$1 can be a big deal if you want to buy thousands of them.

</comment></comment></comment><comment><USER34> C-Sky is a RISC-V member, is this a RISC-V board?

<comment><USER35> No: [https://www.phoronix.com/scan.php?page=news_item&px=C-SKY- Ap...](https://www.phoronix.com/scan.php?page=news_item&px=C-SKY-Approved- Last-Arch)

<comment><USER36> "I think this may well be the last new CPU architecture we ever add to the kernel. Both nds32 and c-sky are made by companies that also work on risc-v, and generally speaking risc-v seems to be killing off any of the minor licensable instruction set projects.." \-- long-time low-level kernel developer Arnd Bergmann

Wow.. that's quite the statement. Would be interesting to know more about this ISA and if it's doing anything interesting and new

<comment><USER37> > It was pointed out within minutes of my comment that there is another > platform getting ready for merging (Kalray MPPA), so my prediction was > clearly wrong.

[https://lwn.net/Articles/770410/](https://lwn.net/Articles/770410/)

</comment></comment></comment></comment><comment><USER38> Forgive my black humour, but I hope there is no extra spying chip there

<comment><USER39> For €5 an extra spying chip thrown in for free is a steal though.

<comment><USER40> Depending on whether you have control of the spying chip.

</comment></comment></comment><comment><USER5> Just give me a board with gigabit ethernet, wifi+bt, emmc (NOT sd for fucks sake), like 2-4 usb As and a proper power connector (NOT the god damn micro usb) and I'm happy!

<comment><USER41> An Orange Pi Plus 2E meets all your needs, but like the other comment noted, it's going to cost more than $6.

[http://www.orangepi.org/orangepiplus2e/](http://www.orangepi.org/orangepiplus2e/)

<comment><USER33> Mainline kernel support would be nice too.</comment></comment></comment>


Ask HN: Serving Vector Images Via Web API? - <AUTHOR>

So, sometimes I need many different sizes of the same vector image on a site (i.e. logo). But saving multiple versions for web from Photoshop is a pain in the ass--especially when a year later you need to change the size of the logo and have to go find the PSD again.
How about keeping vector images in a folder somewhere on a webserver in EPS format or the like, and then providing an API that would let you specify the size and image format in the URL, like so:
example.com/vectors/logo.png?width=100
You could set up caching and then everything would be dandy--just change the URL to get a different size. I think this would be great for icons, logos, etc.
I found something similar (http://imageresizing.net/) that requires running a .NET server, but I was wondering if there were other tools out there that did something like this? I've seen approaches that scale an existing raster image, but I like the vector solution better, especially if a pixel-fitting algorithm could be applied (see http://dcurt.is/pixel-fitting). I also tend not to like the results from image-resizing algorithms at smaller sizes. <comment><USER2> You can embed SVG into HTML if you wish.

Basically, browsers support SVG.

<comment><AUTHOR> Yeah, but part of my goal is to only have to change the source for the image in one place. I suppose I could have a partial template with the SVG in it and pass in a variable for the scale, but I would still prefer the elegance of having a web-accessible API so I can use the images anywhere.

And of course, IE8 and below don't speak SVG.

</comment></comment><comment><USER3> There's Photoshop scripts that will export a single image in a bunch of sizes. That would probably work in the interim.</comment>


Points About Type Safety - <AUTHOR> http://tel.github.io/2014/08/08/six_points_about_type_safety/

<comment> vezzy-fnord I found the footnote where Dr. Robert Harper's post outlines a type safe definition of the C language to be interesting.

<comment><USER2> I had the same thought. Harper has lots of interesting posts on his blog: [http://existentialtype.wordpress.com/](http://existentialtype.wordpress.com/) (not to mention his research).

I was delightfully surprised running into this comment in a footnote :)

Here's the direct link to Harper's comment: [http://www.pl- enthusiast.net/2014/08/05/type-safety/#comment...](http://www.pl- enthusiast.net/2014/08/05/type-safety/#comment-500)

The way that Harper talks about types, such as, "It is not a matter of opinion whether an untyped language is unityped, it is a matter of fact." gives me a different perspective when I program in a language that is effectively unityped.

</comment></comment><comment><USER3> " _These rules are together called "preservation" and "progress". Notably, they leave a lot of room for the language to define what it means to justify a change in types (automatic upcasting, for instance, is interesting) or well- define program dynamics._ "

Safety and progress is a weird distinction in the types of properties you can express. It seems to be context dependent. (I'm using what I consider the "standard", loose definitions of safety and progress: safety means the program will not go wrong, bad things won't happen; progress means the program will perform correctly, good things will (eventually?) happen.

For example, consider a program involving binary search on an array. Clearly, "does not access elements outside the bounds of the array" is a good safety property, but what is the status of "if the array is sorted, the search will correctly find a matching element or report that none exists"? It looks like a progress property, but depending on how the results are used I can see how it would become a safety problem. (I think; I'm still undecided on that point.)

<comment><AUTHOR> Formally, "safety" = "preservation" \+ "progress". So, using those loose definitions together doesn't fit what I'm referring to.

In particular, "does not access elements outside of the bounds of the array" is not directly a safety property, though it could be interpreted within the dynamics in order to ensure progress. For instance, if you outlaw exception throwing then the types must ensure that exceptional states cannot arise. Else the program can "get stuck" and progress is refuted.

The final point about sorted arrays again mistakes putting "safety" and "progress" on the same epistemological ground.

<comment><USER3> Hm. I had never heard of "preservation" as a category in itself, other than as a synonym for safety. But I come from a distributed systems/network protocol background, many years ago, so all of the landmarks have moved. Not sure what the distinction buys you, though.

<comment><AUTHOR> It gives you the proof that's loosely stated as "well-types programs do not go wrong". The sketch is that if some thing is well-typed then progress means it won't "go wrong" and preservation means it'll stay well-typed. Thus: well- typed programs progress all the way to stable values.</comment></comment></comment></comment>


Show HN: Don't code your UI, draw it - <AUTHOR> https://github.com/karanchahal/DoodleMaster <comment><USER2> For my whole life I've been "drawing" real GUIs and writing the logic code, not GUI code then. It started with VisualBasic 1.0 for DOS, then there were different versions of VisualBasic for Windows, then Borland C++ Builder and Delphi (I was using the former), then NetBeans Swing designer and WinForms designer in VisualStudio. And now building a GUI is such a problem that a huge number of almost-useless (I really prefer pen and paper over drawing with a mouse) "mockup tools" has emerged and we have to use artificial intelligence to produce the actual UI code or just code it manually...

<comment><USER3> It really is disappointing how modern web GUI environments are harder to use than what was around 20+ years ago.

There are still Visual Basic Apps from the 1990s floating around in large corporations and in government.

Users who were expert in the process but not expert developers could easily code up tools to their exact specifications.

[https://en.wikipedia.org/wiki/Visual_Basic#1990s](https://en.wikipedia.org/wiki/Visual_Basic#1990s)

Admittedly the deployment of web applications is much better and they can run on different devices.

Hopefully when web assembly takes off easier to use tools will reappear.

<comment><USER4> _It really is disappointing how modern web GUI environments are harder to use than what was around 20+ years ago._

Yes. We had drag and drop UIs decades ago. Now you can't even get a decent GUI program for laying out a web page. CSS/Javascript got so messy that even Dreamweaver became useless.

Part of the problem is that ad code requires a messy environment, so that ad blockers and click generators have a hard time. Google, by policy, does not permit you to put their ads in a iframe, where they belong. You can't even put Google Hostile Code Loader ("tag manager") in an iframe sandbox.

<comment><USER5> > Yes. We had drag and drop UIs decades ago.

We had _simple_ drag and drop UIs decades ago.

Computers operated within a lot more limited constructs back then. UI windows didn't resize, or it was reasonable to expect that they're fixed. How did those drag and drop tools back then handle creating a UI for screens ranging from 400pt wide to 2560pt wide?

<comment><USER6> > How did those drag and drop tools back then handle creating a UI for screens > ranging from 400pt wide to 2560pt wide?

For simpler forms you'd just set anchoring properties of the widgets in question (akRight/akBottom in Borland's VCL or whatever its counterpart is called in WinForms or what was its predecessor). Nowadays it's even easier with things like, say, GTK's HBox/VBox.

> Computers operated within a lot more limited constructs back then.

Resource limits didn't stop web browsers of the era from rendering complicated tables in a variety of sizes.

<comment><USER7> In WinForms, it's still called Anchor (it really did take a lot from VCL), but since enums are scoped in .NET, you have Anchor.Left, Anchor.Top etc.

WinForms also had Dock (Left, Right, Top, Bottom, or Fill) which basically forced the control against that edge of its parent, taking up full length and/or height accordingly in one dimension, and using the explicitly specified size in the other. With multiple controls with Dock, they'd gradually fill the available space in Z-index order, stacking up against each other; then whatever control had Dock=Fill, would fill the remaining space.

So yeah, resizable windows were common, and easy to deal with. The real problem is dynamically sized controls themselves, e.g due to DPI changes, or because the control contains dynamic content of unknown size. With those, anchors no longer work well, and you need some kind of box and grid layouts. Which are available - but it's kinda hard to edit them visually in a way that's more convenient than just writing the corresponding code or markup.

The closest I've seen to visually editing UI that can accommodate dynamically sized controls was actually in NetBeans, which had its own layout manager for Swing. That thing allowed you to anchor controls relative to other controls, not just to the parent container. Thus, as controls resized according to their context, other controls would get moved as needed:

[https://netbeans.org/kb/docs/java/quickstart- gui.html](https://netbeans.org/kb/docs/java/quickstart-gui.html)

[https://youtu.be/_ZW4ktG1DEE?t=129](https://youtu.be/_ZW4ktG1DEE?t=129)

Still, you needed to be very careful in the UI form editor, to make sure that controls are anchored against other controls in ways that make sense.

Fundamentally, I think the biggest problem with UI designers today is that they can't really be WYSIWYG, the way they used to be in the RAD era. The DPI of the user machine might be different, fonts might be different, on some platforms (Linux) themes can be different in ways that drastically affect dimensions etc.

<comment><USER8> > Fundamentally, I think the biggest problem with UI designers today is that > they can't really be WYSIWYG, the way they used to be in the RAD era. The > DPI of the user machine might be different, fonts might be different, on > some platforms (Linux) themes can be different in ways that drastically > affect dimensions etc.

WPF and UWP can deal with it perfectly fine.

<comment><USER7> Last time I checked the WPF designer, it used canvas by default - which allows you to put elements exactly where you want by simple drag and drop, like the old times in VB6 or Delphi; but then nothing actually reflows or resizes etc at runtime.

If you choose to use layouts, it can display them, but editing it with a mouse is no longer convenient. It's easier to just drop into XAML and hack on it there. On every project I worked on that used WPF (which is quite a few by now), nobody on the team actually used the UI designer, and everybody would switch the default mode for .xaml files in VS to open the markup directly, rather than the usual split view.

<comment><USER8> WPF designer default template is a Grid layout, so it must been a very long time ago.

As for devs preferring to type by hand, well their loss I guess.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment> GuB-42 Maybe I am not a UI designer but I much prefer rule based approaches than drawing.

Rule based means I tell use instruction like "this button must be on top on that button horizontally centered", "this label must fit that text", "this image must be between this and that", etc... and let the layout engine deal with it. UIs are usually not paintings, window sizes vary, text length changes with localization, decorations change depending on the environment, etc... Approaching a UI like a canvas will certainly yield good results on the designer machine, but will look out of place everywhere else, if it is usable at all.

I think it is the basis or what they call "responsive web design".

<comment><USER9> This is basically how designing ios/osx apps in xCode works. You set a bunch of constraints that are relative to one another. You can also specify what type of screen those constraints will work on (like iphone vs ipad screens) and portrait / landscape.

I find it quite pleasant once you get used to it.

<comment><USER10> It is (or at least was) all based on Cassowary: [https://en.wikipedia.org/wiki/Cassowary_(software)](https://en.wikipedia.org/wiki/Cassowary_\(software\))

</comment></comment></comment><comment><USER11> This is not the sort of repo I would present to the public.

* There are no instructions on how to actually run the thing.

* There is no requirements.txt or similar, so I have no idea which version of dependencies I'd need.

* The repository is strewn with unnecessary files (.pyc/.ds_store/.so...), random-looking images with names like "plswork.png", a HTML file from some "starter kit"...

* I can't seem to find the React frontend that is mentioned in the readme -- on the other hand, it looks like `server2.py` is looking for them outside the repository (`".././reactExperiments"`).

<comment><USER12> Stop. Just because you refuse to do basic troubleshooting doesn't mean this person shouldn't have showed it off.

<comment><USER13> Just fixed it for 15 minutes but it is still far from running, I would rather wait until project instructions are added.

<comment><AUTHOR> Hello, thank you for your interest ! I have fixed the repo structure and added instructions on how to build and run. Hopefully that is fine, if not please tell me about it and I shall update it as soon as possible.

<comment><USER13> Thank you for fixing, I think it's close. Now, flask says "index.html" is missing :-) also step 2 should have "pip3 install -r" instead of "python3 -r".

<comment><AUTHOR> Ah yes, I'm at work now. I'll fix that as soon as I get back, though that will probably be after a few hours.

</comment></comment></comment></comment></comment></comment><comment><USER14> Interesting idea, but I'm not sure I see any advantage over dragging movable/resizable components from a toolbar, but there are several obvious disadvantages.

<comment><USER15> What if you could sketch your UI with a stencil, paper, and pencil. Then take a picture of it and have it translated into native components?

<comment><USER16> Odds are high, mine would look worse. I'm not exactly an artist.

Unless you mean just sketch using graph paper and translating coordinates. Not sure why I need a camera for that. :(

<comment><USER17> It sounds like you don't. But many in my org come to me with an idea, and having them think through the logical pieces and build a functional wireframe would help under resourced people like me so much.

Also, many people just think that business logic for sanitization and validation "just happens." The barrier to wireframing, for them, is too high so they don't. But in this idea, I could see someone submitting a wireframe to me and my response being "well what happens when a phone number is international?" I'm educating stakeholders on the functional cost of producing their idea.

This would theoretically create a feedback loop for future ideas and initiatives as now, they've begun to be educated on the process. They have direct experience.

Anyway, anything to lower that barrier in order to partner with and teach my executives and their supporting staff would be a huge win. At least for me.

<comment><USER18> > many people just think that business logic for sanitization and validation > "just happens." The barrier to wireframing, for them, is too high so they > don't

Maybe the barrier is where it should be. Or maybe it should be _even higher!_ People who can't understand the logic of an interface have no business creating or suggesting interfaces. An UI is meant to be _used,_ not _looked at_ like a pretty picture in a frame. It should _feel good_ and _feel smooth_ and _increase productivity..._ not _look_ good. Some of the best looking UIs I've ever seem were also the most utterly user-hostile, unituitive and productivity lowering.

Sure, if you can afford to pay someone 500/hour or smth "outrageous" like that (hint: you need a word-class artist, with advanced knowledge of user psychology, that also has the brain of a business logic analist or of programmer involved in product design) you could get something that both looks goorgeous and feels smooth and increases user productivity 10x. But usually you need to make sacrifices, and the ones the user will _hate_ you for are those that make his life harder despite seeming nice and slick at first.

<comment><USER19> I take your point about usability as opposed to visual design, and that many slick-looking UIs actually lower productivity.

But:

In this example, unless not handling international phone numbers leads to failure of the project, that can be handled later, say once the project is approved and time estimation is being done. If I'm building a notes app, and someone is proposing a new sign up form to increase conversions, and it has a phone number field, handling international numbers is the last thing to worry about at this stage (unless international numbers are a significant problem with the old form leading to abandonment).

We shouldn't doom good ideas with irrelevant details, which are absolutely relevant later, but not now. Product development happens in phases of increasing fidelity, and issues need to be brought up at the appropriate time, not too early, not too late.

<comment><USER18> > handling international phone numbers

Imo this is one of those things _best left unhandled,_ eg. "just use a plain mostly unvalidated textfield, and throw and error only when you want to use that data via another system like for a text message campaign". Mostly in real-life if you want to target the entire freaking planet (not just 99% of phone using people, but 99.999%), you'll get to realize that any validation is not enough and that some phone numbers _need_ to contain arbitrary letters and symbols in them (better don't ask... the world is big and weird :P), and that yeah, those numbers will not be procesable by things like Twillio, but human users with local knowledge will know how to actually "dial" them...

But it _needs to be a conscious decision,_ to _consciously_ choose to not- validate and to understand that you give up the ability to 100% target phone numbers for things like 2-factor-auth later on.

Not "forget that phone numbers need to be validated" and then, go and say, "oh, let's do phone-based 2-fa mandatory" or whatever user interaction messup like that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Codeless UI is so exciting! This reminds me of Ivan Sutherland's Sketchpad from the early 60s [https://en.wikipedia.org/wiki/Sketchpad](https://en.wikipedia.org/wiki/Sketchpad)

<comment><USER21> Don't get excited.

The thing that this demo shows in minutes could've been typed up in text in _seconds_. It is not a productive way to do things. There's a reason that these systems never catched on, they are unnecessary.

You may say, but "non-programmers" will use it! No, they won't. Designers will use real design tools to create (non-functional) visual designs. Programmers will bring those visual designs to functionality. That procedure _works_. It'll keep working. These systems are diversions, not improvements. Worthy of investigation, but not practical.

<comment><USER22> Yo - I did the Airbnb project linked ^^^ which I believe was the first of this wave of deep learning-powered sketch->UI projects (though standing on the shoulders of decades of R&D projects)

Our take was that we really do design on paper or whiteboard first & foremost, which is why our project emphasized the webcam + sharpie thing rather than drawing in-browser etc.

Here's a related thing I wrote about the need for design tools to design the real thing, rather than facsimiles of the thing: [https://jon.gold/2017/08/dragging- rectangles/](https://jon.gold/2017/08/dragging-rectangles/) \- so so so much process waste is because developers have to re-implement static pictures of designs.

In our case, we didn't get buy-in to keep developing the project, but I'm kinda jazzed that so many people are running with the idea

<comment><USER21> > ...so so so much process waste is because developers have to re-implement > static pictures of designs.

Okay, but did you attack that problem in a way that actually is _more efficient_ than established UI paradigms?

Let's split the problem in two parts:

\- "Semantic" Design (Checkbox, ImageView, TextInput...)

\- Visual Design (fonts, colors, margins, ratios)

Your solution covers only the "semantic" part. Just look at the data. It's basically a simple component tree. It _would_ be more efficient to just type it up. It also would be more efficient to just drag rectangles from a toolshelf instead of defining the type of the rectangle by drawing extra hints.

As for the visual design, that's where you use a design tool like Illustrator or Photoshop. Typing that up (e.g. in CSS) is surely a pain, but _sketching it all up_ is out of the question. I certainly do see room for improvement in the workflow here, but a sketchy interface isn't helping.

You have to question a lot of assumptions here, but also consider how designers are most efficient with the tools they already know and have used for years. Don't mistake something that you want to create for something that users will actually want to use.

</comment></comment></comment></comment><comment><USER23> Microsoft also offers this as Sketch2Code:

[https://github.com/Microsoft/ailab/tree/master/Sketch2Code](https://github.com/Microsoft/ailab/tree/master/Sketch2Code)

</comment><comment><USER24> If you already have a consistent design language,and those pre-baked pieces, it seems like assembling them visually is the easy part. This would still leave the behavior logic an data flows.

I'd be interested to see new things like this though!

</comment><comment><USER25> Why doodle? What difference does it make than to simply type the name of the widget you want?

<comment><USER26> As one example, you might use a tablet and tablet pen to draw up a few alternative sketches for the same UI, each of which might have tens of UI elements. With that input mechanism, it seems a bit tedious to have to tell the computer "this is a text box" for each text box, especially when a human (or smart algorithm) looking at the drawing can see that pretty clearly.

</comment></comment><comment><USER27> this is pretty cool! one thing on the image drawing one is that there are "industry-wide" common practices when using a placeholder/drawing one to represent an image as a square/rectangle crossed from each angle (if I explain myself correctly). this dates back to the print design days, but would be a shape that's a lot easier to draw than the pseudo picture that's common in OS UI's. Yotako, which has been linked somewhere in the thread by tyingq (which reminds me of the Palm Pilot days) uses a similar approach as well. It makes it easier to draw and faster too

</comment><comment><USER28> Neat, but wouldn't it just be easier to have a pallet of controls / components that user could drag into a view and cut out the need for interpreting a drawing?

</comment><comment><USER29> Aaaaand we've come full circle back to Microsoft Foundation Class builder that was all the rage in the early 1990s.

</comment><comment><USER30> I still create my UI's with a sketchbook and pen / pencil. For me there's nothing that matches it yet. Even though there are a bunch of digital product design tools nowadays, I still tend to begin with my sketchbook.

It's fast and expressive, and always there and always on, just a single tool / interface (pen to paper), which is a huge advantage when just trying to get concepts down visually. The clincher in this decade though, is the necessity to think responsively while sketching, understanding that there are all sorts of device sizes now. Then either mock it up in a design tool later or straight code it up once I have the general concepts down. I've tried all sorts of things (was really disappointed when SubForm shut down, that one was kind of interesting). From concept to product, starting off with paper and pen is still the quickest route for me.

</comment><comment><USER31> While i am a fan, we took it up a notch by allowing users to upload their UI and we write the supporting code using A.I. [https://crane.ai/](https://crane.ai/)

<comment><AUTHOR> Do you use some generative AI or is it still quite rule based with AI doing the classification bit ?

</comment></comment><comment><USER32> I think this is great. I see a future where designers can draw and create an interactive prototype. Anything beyond that is, my (educated) guess, long way off. Anybody hoping this will remove the need for designers or front end devs will be disappointed.

<comment><USER33> I'm not disappointed because I don't think removing the benefits of thought and effort by people who have studied and understand user interface design, interaction, usability, accessibility, Fitts' Law, etc, is such a great idea or good for users.

Drawing where to put the widgets (and not using constraints or grids or automatic layout or adaptive rules or responsive design, or user testing and performance measurement and empirical evaluation) isn't the hard or important part of user interface design.

Who is supposed to benefit from this? A company who refuses to hire a competent user interface designer and wants to crank something out really quick regardless of quality? Users spend much more time using an interface than you spend designing and implementing it, so optimizing the time and amount of mental effort you have to put into making a user interface isn't worth it if it doesn't result in a better, easier to use interface.

<comment><USER32> I imagine a WordPress-like site, where you draw widgets and bring it to life with a theme. Maybe nothing too rocket sciency, but I reckon there's a market for it.

</comment></comment></comment><comment><USER34> Only the other day I was looking at [https://sketch2code.azurewebsites.net](https://sketch2code.azurewebsites.net), which does something similar atop Azure cognitive APIs (I work on Azure).

</comment><comment><USER26> karanchahal, not sure if this can be renamed retroactively, but this may have been a good "Show HN" candidate: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

Regardless, it's a cool idea that made me laugh a bit at first (seems almost absurd at first glance) but then got me thinking about possibilities. Good job!

It would be great if you could get it in a state where people could really try it out (even in an unpolished state), either locally or ideally with a web- based demo.

<comment><AUTHOR> Hello, thank you for your comment. I have updated the code to a somewhat polished state with instructions on how to run and build the project. I hope this is fine. Please tell me if anything else is required of me in the issues section of the repo!

Again, thanks :)

</comment></comment><comment><USER35> Haven't used it, but Yotako seems similar: [https://www.yotako.io/](https://www.yotako.io/)

</comment><comment><USER36> Why not create a text file that encodes the structure of the desired output instead of having a CNN inferior it

</comment><comment><USER37> Here is another example of this type of approach from a top-tier, peer reviewed software engineering journal: [https://arxiv.org/abs/1802.02312](https://arxiv.org/abs/1802.02312)

</comment><comment><USER38> Too bad nowadays frontend dev is more about state management than layout and boxes. Designers have tons of tools turning mockups to interactable prototype. Non-technical people have drag and drop tools.

</comment><comment><USER39> Wireframe Sketcher (my fav out of them all) does this in a more efficient manner.

</comment><comment><USER40> its a great concept & prototype - really reminds me of the palm pilot graffiti writing system and alphabet [0].

after just watching the video - seems like adding a plugin system for targeting various UI library (ex bootstrap) would be really cool (I didn't read all of the text - maybe he suggested or already has this..)

[0] [https://en.wikipedia.org/wiki/Graffiti_(Palm_OS)](https://en.wikipedia.org/wiki/Graffiti_\(Palm_OS\))

</comment><comment><USER41> This is a fun idea! Congrats on getting it working.

It may not seem like much right now, but the fundamental idea behind this sort of stuff is the future, especially for front-end code.

</comment><comment><USER42> Congrats! Can you maybe say a bit about how you trained it?

</comment><comment><USER43> How was the PyTorch model trained? (Most interested in the training data)

</comment><comment><USER21> > "Don't code your UI"

 _Do_ code your UI.

</comment><comment><USER44> woooooa this is so cool!!!

</comment><comment><USER45> 7 comments in, and it's all ragging on this. Good job everyone

<comment><USER46> What's the purpose of developing in the open if not to get feedback? A pat on the back and a attaboy doesn't help anyone improve.

<comment><USER47> I feel people who are only willing to point out negatives (without any appreciation for good parts) should refrain from giving feedback. Frankly speaking, such feedback isn't very motivating.

<comment><USER48> Nor is it actionable. Exists solely for the "critic" to signal how unimpressed they are, as if seeing the defects in something is some challenging feat.

We're in this obnoxious age of confusing useful criticism with any reaction one can come up with on the fly, no matter how superficial. Like it's their destiny to weigh in on something as rapidly as they can, and as if they're doing some critical service for the universe.

The comment above exemplifies this when they say "what, we're supposed to pat them on the head and say attaboy?" No, the problem is that you think you need to fire off some undigested response at all. If you have nothing meaningful to say, then just say nothing. It's okay.

<comment><USER46> The feedback was actionable

\- add a requirements.txt to list dependencies

\- create a .gitignore file.

</comment></comment></comment></comment></comment><comment><USER49> Thanks, but I'll stick with Sketch.

</comment><comment><USER50> What are people's thoughts on when this will actually be usable? UI eng is just another labor intensive automatable step for creatives. Next will be to automate the design part too. Don't draw your UI, generate it from user stories.

<comment><USER33> Pff! Yeah. And generating users stories is the PERFECT application of artificial intelligence. /s

You could automate the entire software design and development process! Could't be any worse that what we have now, amiright?</comment></comment>


Ruby client for HBase's Stargate web service - <AUTHOR> http://github.com/greglu/hbase-ruby Stargate is the new RESTful web service front end for HBase, which is planned to replace the old REST server. Some new features include serving up data in XML, JSON, and protobufs, as well as having an API that's better integrated to REST. Check out wiki.apache.org/hadoop/Hbase/Stargate for more information.
I rewrote the existing 'hbase-ruby' client to use Stargate and released it on Github/Gemcutter.
Github: github.com/greglu/hbase-ruby Gemcutter: gemcutter.org/gems/hbase-ruby <comment><AUTHOR> Stargate is the new RESTful web service front end for HBase, which is planned to replace the old REST server. Some new features include serving up data in XML, JSON, and protobufs, as well as having an API that's better integrated to REST. Check out <http://wiki.apache.org/hadoop/Hbase/Stargate> for more information.

I rewrote the existing 'hbase-ruby' client to use Stargate and released it on Github/Gemcutter.

Github: <http://github.com/greglu/hbase-ruby> Gemcutter: <http://gemcutter.org/gems/hbase-ruby></comment>


Ask HN: Good, hosted mailing list service provider? - <AUTHOR>

Hi all,
What are some of the good, and most commonly used mailing list service providers out there? I'm just needing something simple that I can throw on my "coming soon" splash page that will allow people to subscribe for future news and stuff. Mostly I need this to gauge interest in my idea prior to coding the whole thing. :P Ideally it'd be as simple as disquss, and just require me to drop some javascript on the page.
What have you all used?
Thanks! <comment><USER2> I use MailChimp and it is rock solid and gets amazing delivery rates.

It's free it you are under 1,000 subscribers and cheap after that (uses a credit system).

It has Rapleaf and Klout built in, as well as templates and a spam checker.

Can't say enough good things about it.

<comment><USER3> I want to second MailChimp. I've had a lot of success with it and initially used it for a signup/coming soon page too (and got 1700 subscribers in a couple of weeks who... I still haven't e-mailed ;-)). Since then, I've started two programming language e-mail newsletters and attracted and delivered news to > 6000 developers in the last couple of months. Big thumbs up to the chimp.</comment></comment>


Linus Torvalds: Long Filenames (1992) - <AUTHOR> https://groups.google.com/d/msg/comp.os.minix/0rgZpprg_Eo/NBSyZkYKRYsJ <comment><USER2> If Microsoft has been collecting billions in revenue with an invalid patent for years, could the court (or EU Commission?) force them to reimburse that money?

<comment><USER3> No. Basically if you fought and lost a patent dispute your dispute was still held. If you licensed a patent you licensed it, and it was believed to be valid.

If you dispute the patent, fight, escrow the license fees, or filed with the court, and the court ordered you to continue paying during the dispute, then you could get your money back.

</comment></comment><comment><USER4> Is this "prior art", or evidence that the idea is "obvious" or "trivial"?

<comment><USER5> Well, it would be evidence that the idea was trivial, but they just assume that everyone magically knows about the patents we're generally forbidden to read and they won't hold against a patent the fact that it's trivial in hindsight because that's to vague... so they let through a lot of silly patents instead.

<comment><USER6> What do you mean "patents we're generally forbidden to read"?

Patents are public domain.

<comment><USER7> You don't work for a large company that does software development, do you?

<comment><USER8> I do and what's said above is not the case in my company. When we submit a patent we actually have to do our own search for prior art (either published scientific papers, or patents) before some patent lawyer does its own patent search.

<comment><USER9> That is a very dangerous way to act. If you glanced at another patent. Then 6 months later create a similar sounding patent. File that and the original patent holder can claim you stole their idea. Weblogs would should you looking at it and a lawyer would have no problem saying the idea was stolen.

You have no recourse to prove you did not copy the idea under the current system. The general rule for software developers/patents creators is NOT to look at someone else's work. Let a third party researcher do it and let them decide. As an inventor you have to have a clean room design.

</comment></comment></comment></comment></comment></comment><comment><USER10> When I first heard about this patent, the first thing I thought of was UMSDOS -- but this seems to be something else with the Minix filesystem.

</comment><comment><USER11> I believe this "discovery" of prior art has already been shown in court a few years ago when the FAT patents were challenged. it has between some time, but this whole thread is very familiar.

</comment><comment><USER12> I wonder why this patent has taken so long to invalidate.

</comment><comment><AUTHOR> Microsoft stands to lose a lot of revenue because of the near indelibility of the internet.

[edited]

<comment><USER13> The internet is very "delable". Usenet wasn't archived _en masse_ until DejaNews. Even then it wasn't a complete archive. They also allowed posts to be deleted. DN sold the archive to Google in 2001, who ironically implemented a terrible search feature. Google also allowed deleting posts until 2009. [http://en.wikipedia.org/wiki/Google_Groups#Deja_News](http://en.wikipedia.org/wiki/Google_Groups#Deja_News)

There is a _lot_ of the internet that is missing.</comment></comment>


Join Oliver Stone and Noam Chomsky in Urging Correa to Grant Snowden Asylum - <AUTHOR> http://org.salsalabs.com/o/1439/p/dia/action3/common/public/?action_KEY=13829

<comment><USER2> No. While I believe Snowden did the right thing by releasing information on the NSA's domestic spying, he lost my support by going on to release information detailing how the NSA spied on foreign states. He crossed a line when doing that and as such he ought to face the US legal system.

Plus, as others have said, Ecuador is hardly a paragon of freedom. It spies on its citizens in ways just as blatant and intrusive as that of the US, if not more, and political dissent and media freedom is only barely tolerated.

Let's not allow the rightful anger over the NSA's domestic activities blind us into giving Snowden a free pass to leak whatever he has (in his own words he regards all surveillance as wrong) or into believing that Rafael Correa is on the side of those of us who don't like pervasive state surveillance.

<comment><USER3> It's not ok for the U.S. to hack major Chinese telecoms to spy on it's citizens.

<comment><USER2> Why not? Do you think other countries are not hacking US telecoms to spy on US citizens?

The main threats in the world are no longer just states, they're also small groups of individuals capable of doing a ton of damage. I see no way for the NSA or CIA to be able to do their jobs without being permitted to spy on foreign citizens.

The protections for American citizens against their government spying on them are intended to preserve political freedom in the US. Security is traded for liberty. That same relationship does not exist between the US government and foreign citizens like me.

<comment><USER4> > Why not?

Obvious ethical considerations. I'm sick of living on the death star.

It doesn't seem possible to me that any non-transparent organization with such capabilities will ever live up to some promise to "just spy on brown people". In Snowden's words: "policy protection is no protection — policy is a one-way ratchet that only loosens".

I don't think foreign spy programs are relevant to this discussion. If Pakistan jumped off a bridge, would you follow?

> The main threats in the world are no longer just states

The main threats in the news are no longer just states, that's all. A few people commit criminal acts in a foreign country somtimes. Meanwhile, states have nuclear weapons and are very often in a state of war.

> That same relationship does not exist [for foreign citizens].

Perhaps it should. Your reasoning was developed back when packets had their ping measured in years. One very simple reason to call Snowden a hero is that I want US tech companies to be trusted and to thus prosper, because I want to work for them.

In general, it upsets me that some narrative has taken hold where, because "non-US persons" are on the internet, it's OK for a non-transparent agency to listen to everything on the internet, and high treason for someone to attempt to save me from it. Living in China for a couple days and talking to the news isn't "going to the enemy", as you'd so like me to see it.

</comment></comment></comment></comment><comment><USER5> While he doesn't have as strong a name as Putin, Rafael Correa is not a nice guy and Ecuador's political situation is ugly. We recently saw HN posts about the surveillance equipment they are buying.

I think its irresponsible for Correa to hurt the lives of his citizens by hurting US-Ecaduaror ties just to make fun of the USA.

</comment><comment><USER6> No. Snowden's own father acknowledges that he technically broke the law, and is especially worried about him getting mixed up with WikiLeaks (gee, I wonder why he'd be worried about the perception of that happening?).

I actually think the government could accede to the requests of Snowden's father completely and still get justice in the end (though we'll see what they do).

</comment><comment><USER7> Ecuador should grant Snowden asylum, but even more Obama should pardon Snowden. Sign that petition ([https://petitions.whitehouse.gov/petition/pardon-edward- snow...](https://petitions.whitehouse.gov/petition/pardon-edward- snowden/Dp03vGYD)), if you haven't, whether or not you sign this one.</comment>


Boxer Shorts: quantifying the economical impact of one more - <AUTHOR> http://vocus.io/link?id=3d9f5be3-67f9-46e2-a2a2-6bce41277d35 <comment><USER2> That's why I go commando!</comment>


Ask HN: Readers of HN what is your biggest complaint about goodreads? - <AUTHOR> <comment><USER2> I find it to be a bit slow and it takes a lot of clicks to do things.</comment>


Lita, the ChatOps framework for Ruby, version 4 released - <AUTHOR> http://docs.lita.io/releases/4/

<comment><USER2> The testability of Lita plugins via RSpec is super helpful, and it's great to see things like route matching get addressed & improved with this release.

</comment><comment><USER3> This is the bees knees of chat tools, but what's up with the gratuitous use of Twitter Bootstrap everywhere?</comment>


Three Kinds of Sound in Superfluid Helium - <AUTHOR> http://www.physics.berkeley.edu/research/packard/current_research/schechters%20web/page2.html

<comment><USER2> 404</comment>


Control Flow Features and Readability (Ruby) - <AUTHOR> http://blog.rubybestpractices.com/posts/rklemme/004-Control_Flow.html

<comment><AUTHOR> Robert Klemme ponders why we see catch ... throw so rarely in Ruby, among other things.</comment>


Facebook officially announces Gameroom, its PC Steam competitor - <AUTHOR> https://techcrunch.com/2016/11/01/facebook-gameroom/ <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=12849828](https://news.ycombinator.com/item?id=12849828).</comment>


Show HN: ProTracker Web Edition - <AUTHOR> http://tracker.stagas.com

<comment><AUTHOR> This is a prototype of ProTracker remake in Javascript and HTML5. Currently only playbacks modules, but tracker functionality will come soon. I just couldn't wait to show you this. Click on RANDOM to play a random module or DISK OP. to load a module from your computer. Tested on Firefox and Chrome.

</comment><comment><USER2> This is great! It brings wonderful memories of my Amiga 600. I recommend taking look at other projects at <http://stagas.com/>.

<comment><AUTHOR> Thanks! I can't wait to get it to the point where you'll be able to create/edit/save modules and such. Will soon put it on github if anyone would like to help make this possible.</comment></comment>


Why the Airline Industry Could Keep Suffering System Failures Like Delta's - <AUTHOR> http://www.opb.org/news/article/npr-why-the-airline-industry-could-keep-suffering-system-failures-like-deltas/ <comment><USER2> _"Because they have to worry so much about safety and security, they are constrained in ways that other businesses aren't," he says. "Delta can't just host its systems on Joe Blow's cloud server somewhere else in the way that another business might be able to do."_

First, AWS, Azure and GCE are not just "Joe Blow's cloud server", they are multi-billion dollar companies, and they all can provide hosting environments compliant with a multitude of security programs including SOC 1, 2, 3, PCI DSS, HIPAA, etc.

If a hospital can store patient records on AWS, why can't Delta store my flight records there? If the government is worried that a public cloud leaves them open to terrorist attacks, then they can sponsor them to run on Gov Cloud for better isolation.

But more importantly, moving a complex high volume legacy system to "the cloud" is no panacea, whatever dependencies or lack of redundancy that caused this failure could cause the exact same failure mode in "the cloud" (plus it can open them to all new failure modes).

<comment><USER3> The time-critical parts of a hospital's workflow are less IT-dependent than the time-critical parts of an airline's workflow. You need a computer to handle admissions in hospitals, but you can get by with the actual medicine with the computers offline (there's a LOT of paper replication).

Besides, if $CLOUD_PROVIDER has a couple of hours outage and the patient records aren't available, not that much backs up. There's not that much in the count of patients that's affected by, say, a 2-hour outage. But that same length of outage can affect thousands of passengers across a dozen airports, and cause knock-on effects for days.

<comment><USER2> I wasn't comparing uptime needs of a hospital versus an airline, but their security needs.

Every major cloud provide offers multiple independent regions, and I haven't heard of any suffering from a multi-region outage.

If an airline's application can't tolerate an outage, then they better not host it in a single region, whether they host it themselves or host it in the cloud.

Delta is on day 2 of their outage, Southwest's was 12+ hours.

Google had a major outage in April -- it lasted 18 minutes. In June, AWS lost a single Availability Zone (out of 3) in Sydney for about 12 hours.

<comment><USER4> > I haven't heard of any suffering from a multi-region outage.

It has happened in the past [1].

[1] [http://www.crn.com/news/cloud/300074866/microsoft- explains-w...](http://www.crn.com/news/cloud/300074866/microsoft-explains- what-went-wrong-in-latest-global-azure-outage.htm)

</comment></comment></comment></comment><comment><USER5> I am confused: they talk about terrorists & critically etc. And they have only 1 site holding their entire system with no backup ? A couple of fibers to cut and those baddies cripple your airline ?

I am pretty sure they would be in a better situation by being hosted, redundant and secure at a cloud provider...

Disclosure: I work on Google Cloud.

<comment><USER6> Google Cloud has had at least two major outages just this year. April 11, 2016 [1], and Feb. 18-19, 2016 [2].

[1] [http://www.serverpronto.com/spu/2016/05/google-cloud- outage-...](http://www.serverpronto.com/spu/2016/05/google-cloud-outage- spells-trouble-for-enterprise-customers/) [2] [http://www.informationweek.com/cloud/infrastructure-as-a- ser...](http://www.informationweek.com/cloud/infrastructure-as-a- service/google-cloud-outage-virtual-networking-breakdown/d/d-id/1319178)

<comment><USER7> So build redundancy across all three major cloud providers. If AWS, Azure, and Google Cloud all go down at the same time, odds are there are bigger problems in the world.

<comment><USER8> Of the mushroom cloud variety.

</comment></comment></comment></comment><comment><USER9> This keeps happening because:

1\. Lots of companies don't yet realize that if you're not a technology company you may as well close up shop cause eventually you will fade to competition or have a reputation destroying event.

2\. They don't pay their employees enough.

3\. They don't respect their employees enough.

<comment><USER10> This keeps happening because many companies treat DR (like security) as a risk management exercise.

Until this stops, events like this will keep happening.

Source: I deal with this pretty much every day. I can't go into much more detail but having seen the innards of multiple Fortune 500 companies, it's frankly shocking that things work sometimes. There's stuff that the equivalent of things being duct-taped together etc. etc.

</comment></comment><comment><USER11> _But the automated transfer switch seems to have failed_

Switch? N+1 baby. Even more on critical systems. If that switch breaking can cause you to cancel 1500 flights there's a clear case to replicate the switchboard. Surely? Also, manual transfer switches are a thing too, just make sure you break-before-make.

<comment><USER12> It's not as simple as N+1. Who watches the watchers? With a lot of these "redundant" systems you eventually have some SPOF which "manages" the redundant components.

For example, many years ago I used a network service provided by a quite diligent company. They had installed a large Cisco switch with redundant "supervisors" which are...something important. So back then the way this worked was that the "active" supervisor would handle everything, and the "standby" one would ping the active one and if it decided the active one had died, it would make itself active.

This process takes about a minute. You can imagine what might happen if each supervisor starts to believe that the other is down.

About ten years ago, Cisco released some new fancier (supposedly better) way to handle this. It is not enabled by default [1, don't bother reading].

[1] [http://www.cisco.com/c/en/us/products/collateral/switches/ca...](http://www.cisco.com/c/en/us/products/collateral/switches/catalyst-6500-series- switches/prod_white_paper09186a0080088874.html)

<comment><USER13> I've always been (probably overly) paranoid about redundant switches. Seemed like a good way to introduce bizarre failure modes to prevent a fairly rare but easy to diagnose switch death.

<comment><USER14> It's not just complete switch death you have to worry about. Ports can die, cables can go bad, etc. Rare, but at the scale Delta's at, it'll happen frequently enough to plan for it.

</comment></comment></comment></comment><comment><USER15> Seems nuts. Spreading locations would allow more and better monitoring to be sure locations weren't compromised, and the ability to drop a location if it was.

Extra layers of protection aren't merely "adding to the attack surface" (although that's possible, antivirus products becoming the vector, for example.)

<comment><USER16> It would also, at minimum, double their costs. They're in a cutthroat industry - doubling costs would likely mean going out of business.

<comment><USER17> Why assume computer costs is substantial to overall costs of maintaining and flying airplanes?

<comment><USER18> Why do people assume that this stuff works like a tech job?

The kind of national and global operations coordination Delta does from their center in Atlanta is not a "oh, network's down, work from the coffee shop" kind of job.

Delta + regional affiliates operate nearly 8,000 flights per day on six continents through thirteen hubs, involving around 80,000 employees and ~820 mainline aircraft plus I don't even know how many smaller regional jets, plus codesharing on SkyTeam alliance partners and 13 other non-alliance-partner carriers.

Spec out an ops center capable of ingesting and organizing all the data on that, presenting it for human use, and then communicating instructions back out to all those people, planes, airports, maintenance bases, etc. And then ask yourself if that's something you just build a couple extra copies of (along with on-call staff to come in and pick up the whole thing at a moment's notice, since if the main one goes down it's not like you'll be flying the people to the backup locations).

The answer, of course, is that it's not something you build extras of. You build it once, and build it as reliable as you can, because building spares just is not feasible; the only people who maintain extras of this kind of infrastructure are governments who worry about getting into nuclear wars.

<comment><USER19> Uber has way more QPS and route planning complexity, and they still have multiple datacenters for redundancy.

<comment><USER20> Uber didn't exist before 2009. They got a bunch of people in a room and wrote some code, and now they're successful. Greenfield development at it's best.

Delta started off flying planes, and has been around longer than computers existed. Like many established businesses, they have a mix of new and legacy technologies, and can't just copy everything up to AWS. They'd have to dedicate years of time and effort over many employees to rewrite some of their systems, while still maintaining their existing ones in parallel until it's safe to migrate off. All the while they have an actual business to run, with real revenues, real expenditures, and IT is just (an important, but costly) piece in the big picture.

These companies are neither incompetent, nor malicious. They just have to find the money and time to get done the enhancements they'd like to their systems, and change doesn't happen overnight. Likely, with this awkward generator fire, they'll try to hasten their efforts.

<comment><USER21> >> Delta started off flying planes,

Only statement in your comment that I disagree with: [https://en.wikipedia.org/wiki/Delta_Air_Lines#History](https://en.wikipedia.org/wiki/Delta_Air_Lines#History)

</comment></comment></comment></comment></comment></comment></comment><comment><USER22> They were once an IBM outsourcing customer, so Bob has a theory: [http://www.cringely.com/2016/08/08/outsourced-probably- hurt-...](http://www.cringely.com/2016/08/08/outsourced-probably-hurt-delta- airlines-power-went/) (spoiler: downtime was likely contributed to by outsourcing and cost cutting. Shocker, I know!)

<comment><USER23> Some of the comments on that page were better than the original article. Much detail.

</comment></comment><comment><USER24> My hunch is that the trend over the next decade or two is going to become an increasingly strong emphasis on software _correctness_. As software becomes more and more intertwined in every aspect of our lives the stakes just keep getting higher and higher. And as "cyberspace" emerges more and more as a primary theater for international political struggles vulnerabilities are going to be that much more expensive and dangerous.

I don't think there are any easy answers here but I expect to see a move over time to languages and tools that leave less room for error than the tools we commonly use now. C/C++ and dynamic languages like Javascript, Python and Ruby will be sidelined in favor of languages that provide more compile time guarantees of their behavior.

<comment><USER25> I see the opposite happening. Remember when it was a big deal that a company was hacked and leaked user data? Or when a bunch of credit card numbers were stolen from a retailer? It feels like that's happened so often by now that it's not even surprising anymore. I expect that any retailer I use has been, is, or will be 0wn3d at some point.

Moreover, the tech industry is solidifying. Larger companies are becoming more entrenched, and it seems harder for new companies to start clean with a fresh stack. This is the most tenuous part of my argument -- maybe it's not true?

If the above _is_ true, then I expect software quality to worsen over time. Large companies will not be rewriting huge parts of their stacks for any reason. The legacy systems will continue to balloon as they are inflated with new features, and morph as they are merged with the systems of acquired companies. Also, the original engineers deeply familiar with the systems will retire, and new maintenance programmers will have even less context into the big-picture of operations.

Also, as the surface area of software increases, there will be more and more places for bugs and security problems to occur, even while those bugs affect more people and in more critical ways.

I predict that over time, we will begin regarding software which routinely works as much as a pipe dream as software which is secure.

This is a fundamentally pessimistic perspective. I'd love to hear an opposing argument.

</comment></comment><comment><USER6> There's more information available now.[1] Apparently part of their system switched to backups, but not all of it. A Delta rep says "We are actually fully operational, it's just that we're not able to use that newer interface." Unclear what that means.

In an airline system, there's quite a bit of equipment at each location, and much of it is specialized. There are interfaces to baggage systems and bar code readers. There are interfaces to airport systems and incoming information from air traffic control. The aircraft themselves transmit information and need flight plan uploads. There's probably more machine to machine communication than user interfaces. They may be having troubles resynchronizing everything with the backup systems in the data center.

[1] [http://www.dallasnews.com/business/airline- industry/20160809...](http://www.dallasnews.com/business/airline- industry/20160809-delta-power-outage-wasn-t-the-cause-of-its-global-computer- disruption.ece)

<comment><USER26> I've spent just enough time around systems driven by old IBM mainframes to realize that they're pretty darned good at data integrity and at uptime, but they make up for it by being an IT nightmare in most other respects.

In this case, it sounds very much like the backup servers were running the wrong version of some user interface programmed in an arcane IBM programming language from the 1970s that is built entirely around the record-oriented database typical of a machine like the AS/400.

Hilarity!

</comment></comment><comment><USER27> Fundamentally these are not technology companies but companies driven by financial markets, cost saving _innovations_ and run more like the hospitality sector.

Most of them outsource their tech to the tech-outsourcing behemoths who are also run by man-month billing _innovations_

I see no hope of things improving drastically. Small incremental updates over decades till we invent teleportation... then they will die.

</comment><comment><USER28> >Because they have to worry so much about safety and security, they are constrained in ways that other businesses aren't...

>In other words, given a choice between more backup systems and more security, airlines are picking security.

Information security is about ensuring confidentiality, integrity and _availability_ all at the same time.</comment>