The setup on my laptop:
- Zotero (https://www.zotero.org/) A software that allows you to easily keep references to academic papers right from your browser. Available as standalone app with multiple browser extension, or directly integrated into firefox. When you are on a paper's webpage, clicking on the button extracts its information, its PDF (if available) and do a capture of the webpage and store everything structured. You can then copy citation directly from zotero, generate a bibtex file, or use libreoffice extension. It also allow to sync between computer up to 300M, and extending the storage is quite cheap.
- Zotfile (https://github.com/jlegewie/zotfile) An Zotero extension that monitor the download folder to let you attach downloaded PDF to existing entries. It also rename PDFs with the pattern you want. And the killer feature: It is able to extract what you electronically annotated on the PDF (Highlights, comments)!!
- Okular (https://okular.kde.org/) For reading and annotating PDF. Straightforward use, nice annotations tools (F6 to open, double click items to make them permanent). Ctrl-S to save the annotation to file (otherwise stored somewhere in the user home file).
All these are open source software and are available on Linux!
What I need is an e-ink device that lets me take notes on it and is large and fast and shows the images in color. Zooming would make it superior to paper. It's just not there yet. I tried to read articles in NCBI's ebook format on my kindle but you can't hop back and forward easily on a Kindle and note taking is of course not an option.
Related question: doing the above had some pain points so I wrote an app to give me the ability to give files and directories human readable names. Read, annotate, and bookmark the pdf within the app. Then be able to search across the whole library on annotations and keywords which would open the pdf to the page and paragraph the annotation referenced. The big thing it does is answer the question: I have read something that I need right now, but where in this huge pile of paper (or directory) is it?
I have gotten the app to the MVP stage, is there any other functionality that would be useful, and would anyone else find this useful?
Apps don't support its completely obsolete iOS version any more, but the device itself works perfectly well.
I only use it to read academic papers, but it's still fine for that task.
For storage I use Papers (http://papersapp.com/). Highly recommended if a little pricey.
Zotero + Zotfile + Dropbox keeps my papers synced across all devices. PDF X-change is such a good PDF editor/viewer that I happily pay for it.
As as aside: Why do journals permit authors to submit plots and other line art as raster images. Have they no shame?
What device do you use to read academic papers?
What device do you read academic papers with?
Non-native speaker here, so my nitpicking might actually be useless.
I stare at a screen for way too long otherwise, so my eyes need a break.
One day its battery is going to die, and I have no idea what I'll do then.
This upcoming one looks interesting - 10.3" E-Ink tablet, with a stylus - and they claim they've got input latency down to 55 ms:
The YouTube video above shows them drawing with the device at 0:40 - I asked, and apparently that's the actual device in use.
Seeing two pages side by side, like a book, even on small screens makes a huge difference for me. Also the ability to switch between documents easily (ctrl+tab and ctrl+shift+tab) is really handy, when I am researching a topic.
I haven't figured out the annotation and highlighting part yet. I just copy and paste important parts into an Emacs org-mode document and summarize the article I read.
It's also easier to remember, what I tought when I read the article at the time, if I take extensive notes.
Im currently using Mendeley. Previously, I used Papers. Unfortunately, the latest version of Papers (3.x) is terrible compared to how slick the old version (2.x) was. Ive tried ReadCube, but somehow I find Mendeley easier to work with. I used EndNote before I discovered Papers, and wouldnt recommend it. I keep all my .pdf files in Dropbox.
Discussions/recommendations for papers:
In-person, well run, reading groups still seem to work best. Although Ive seen good discussions on /r/maths and /r/physics on Reddit. ResearchGate is useful for finding recent papers, while Mendeley is good for more historical connections.
Ive tried a Kindle, but having to convert with Calibre adds too much friction to the process, and the result still isnt that easy to work with. Reading for long periods of time on a laptop or desktop monitor is painful. An iPad with a Retina display comes close, but old school paper printout still wins the day. You can carry paper anywhere and scribble annotations on it with ease. I also find being able to have multiple pages in view at the same time is sometimes helpful for understanding. Not easily (cheaply) done with iPads or laptops.
Storing: filesystem (notes include where I stored it).
I started with Pocketbook 622 (a 6", 800x600 display). Worked very well. Can open many formats _natively_ (doc, rtf, djvu etc, check specs for full list). One of the first docs was anatomy atlas from 19century via archive. Rendered only decently, required huge magnification/landscape mode/margin cutting to be of any use. I had varying experience with other pdf/djvu documents - depending how they were created. Some djvus rendered excellently on 6", despite being meant for bigger (close to a4) page size. No problem with rtf/epub and other such formats. Magazines in pdf (a4) very hard to read, not worth it really. Arxiv's pdfs looked good/very good, sometimes they could be reflowed or put into column view, which helped a lot but with reflow I learned math not always shows up properly. Old computer manuals (my hobby, they are just scaned typewritten books) - not good enough.
Next model was Inkpad 840 (a 8", 1600x1200 display). What looks good on Pb622, looks good too on Ip840. Magazines look better, but they require a good light for really comfortably reading. Otherwise, I can go with dim night light. This model has backlight, but I don't like the idea of shining into my eyes.
Huge plus: sd card slot. I go on for months airgapped.Huge minus: maybe it is just me, but reading html docs almost always sucks one way or another.What to look for: external hard case so I don't have to be oh so wary. It was a PITA trying to find case for Ip840 thanks to its nonstandard dimensions. I settled down with some oversized tablet case.Ip840 feels a bit slow and awkward (compared to Pb622) but I got used to it. If I had to buy again, I would have had a closer look on Kobo models too. Kindle does not cut it for me - requires too big commitment.
All of this just MHO, of course.
Would the reason be economical, information density (more real state on a modern laptop/desktop) or something else?
The convenience of just taking the phone out of my pocket and start reading more than compensates for not having a whole page in view.
- Bibdesk (http://bibdesk.sourceforge.net): archiving papers (automatic rename / custom citekey generation), Google Scholar bibtex extraction, and bibtex interface w/ TeXShop
- Google Drive: storing archive ... it's not a great archive solution because of google's special system of renaming files, however stuck with it because of work
- Goodreader: fast PDF renderer
I wish there was a bibdesk app for the ipad linking to goodreader.
(I see Mendeley mentioned for example; there's some overlap here)
Reams of paper saved and I can read anywhere... but I can't do scratch-work on my cell phone!
It's not a waste of paper if paper is the most efficient way to get my work done. Paper has a large viewport and unlimited battery life, while only weighing a fraction of most electronic alternatives.
The only thing that a computer does better is searching, but this problem can be easily solved by having a PDF open on some other device as well. You don't have to choose one or the other.
mupdf is pretty lightweight for skimming.
Sometimes iPad Pro
More rarely, on a desktop or laptop
their stupid idea to make it just small enough to not fit a page from a pdf, and the completely broken scrolling killed it. even tried the larger one. same problem.
they may have prevented the two people that would have read a pirated pdf of a novel instead of buying it from amazon. but it cost them the entire academia market.
Really a game changer.
I've seen plenty of projects that are rife with anti-patterns because a team was unfamiliar with a problem or technology and made a bunch of bad decisions while they were still coming up to speed.
The use-case I envision would fix this. Because it's really a travesty that when we're the least familiar with technologies is when we make some of the most important architectural decisions. And these mistakes could be avoided with questions like "What issues will we run into?" "What patterns should we follow?" "What are good resources to get started?"
For instance I recently joined a project that was built by devs coming up to speed on React. And boy did they abuse Flux, they didn't build a store for every drop-down but it's pretty damn close. However I really think a React Guru could have steered them around this mistake with just 30 minutes of his time.
Obviously the biggest problem is ensuring quality without having to hike rates too much.
- Spatiotemporal analytics usually in the context of IoT. Most people currently repurpose cartographic tools for this purpose but the impedance match is poor and the tools are seriously lacking elementary functionality. There is no magic technology here, just exceptional UX/UI and an understanding of the problem domain and tooling requirements.
- IoT database platforms, no one offers a credible solution for this currently. Everyone defines this in terms of what they can do, not in terms of what is required in practice. There are many VCs currently hunting for this product but the problem is one of fundamental tech; you can't solve it using open source backends.
- Also for IoT, ad hoc clusters of compute at the edge being able to cooperate for analytical applications. The future of large-scale data analytics is planetary scale federation for many applications. Significant tech gaps here.
- Remote sensing analytics. Drones and satellites are generating spectacular volumes of this data and no one can usefully analyze data of this type at scale. Today, companies wait weeks for a single analytic output on less than a terabyte of data.
- Population-scale behavioral analytics. Many startups claim to do this but none of them can actually work with relevant data at a scale that would deliver on it despite increasing availability of the necessary data.
- AI based on algorithmic induction tech i.e. not the usual DNN and ML tech everyone calls AI. This is way more interesting if you have a novel approach.
For graphics, everyone still use Adobe products which are not that bad but still few had changed in Photoshop and Illustrator from 1991.
For music, DAWs are not that bad and there's no single monopolist like Adobe, but VST system is stinky and stuck in times of Windows 95. People are buying hardware synths (which are just computers running software) only because software on these embedded computers runs reliably, but VSTs crash, freeze every time and require hardware license keys plugged into parallel port. Also, everything inside is complete black magic and every supplier of software pretends that there are super secret algorithms everywhere. Every oscillator and filter is super-secret and super-unique and there's no articles in the open how to design "decent" oscillator and filter. Medival times everywhere.
And these tools should be designed for users, not Entertainment Content Production Corporations.
If a company in California has ample opportunities to sell in Florida (>2000 miles away), why then is it significantly more difficult for a company in Greece to sell in Denmark, which is a much shorter distance.
There is a notable lack of an open European marketplace along the lines of Alibaba. There are many challenges in making that model work for the EU, especially ~24 languages and big cultural differences, but the tech industry is in a good position to overcome such boundaries.
We live in a rapidly ageing society. Retirees are a large and wealthy demographic. Despite that, tech companies are absolutely woeful at designing products for older users. We don't empathise with their needs. We don't understand how poor eyesight, arthritis or cognitive difficulties can affect UX. There's a huge amount of pent-up demand and excellent opportunities for future growth.
Crytpo Currency: There is room for more disruption here. I suspect a currency that is both trackable and backed by a pool of commodities/currencies could be quite popular. Traceable would make theft risk reduced as money could effectively be returned if it is stolen and being backed/hedged by currencies/commodities would help with confidence.
Cargo: I'm surprised we haven't seen electric cargo ships. Even combine solar with sail as winds are favorable. This combined with auto-navigation (at least between ports) seems more easily achievable than cars yet technology is further behind.
Dockable Phone to PC (physical or even better if wireless dock): Surprised no-one has done this well yet. I can image whoever does this with really take ownership of the OS space. I always felt this could be the best route for Microsoft to re-enter the mobile space with force.
Basically, the strategy should be to follow the money (the demand) and to love what you do (be above average). This, it seems, the most probable way to get noticed, to get funding (for abilities) and to succeed. The markets are stochastic.
For example, if you ask yourself, how come that such piles of Java crap as Hadoop came to be so popular, the answer would be that the biotech industry has almost unlimited hot money that time and huge demand for big data processing tools, so even such poorly designed and implemented by amateurs crap would be a good-enough tool.
Suppose, I would like to make a similar tool, order of magnitude less wasteful, based on ideas from Plan9, Erlang, based on ZFS, etc, in other works, do it the right way, would I get any funding? No, because there is no real demand for quality solution when a crappy one is OK. There are exceptions, of course, how, for example, nginx became a well-crafted improvement over apache, but this is indeed an exception.
So, go to the valley and keep looking. There, it seems, no other way. The principle is that there must be a strong demand backed by big money (Wall Street investors), so even a half-backed result could be easily sold and re-used to return investments and even make some profit.
I can think of few ideas right away:
- website that gives stories from other side
- activist website that uses better tactic than "getting signatures"
- know how your congressman votes on each of the vote
- automatic ratings generator for congressman
- news article that only comes from international press
- software for politicians: campaign management, voter management, political ad management etc
I think there's an opportunity to redefine the idea of an employee-owned company. A company with an employee stock pool of 100%-- not 10%-- with no opportunities for dilution, non-voting shares, takeovers, or other financial tricks. Early employees would get more stock, but it would curve gently according with the growth the of the company, so that later employees would also end up with a meaningful share.
The company's charter could be codified in plain English, in an easily accessible, version-controlled markdown file. The board would be made up of some combination of elected employees and outside advisers.
This company would be at a serious disadvantage to raise money. It would have to be able to survive on slow, steady growth rather than VC cash infusions. On the other hand, I suspect it would have a big hiring advantage. The trick would be to attract employees who highly value equity but don't want to become founders themselves.
I bet there's a business model out there that exploits both these facets.
They've got over 300 000 subscribers each paying circa 2000 USD every month. That's 600 million dollars of revenue per month. They're running a labyrinthine functionality on a 1970s System/360-style interface (command line at top of screen). He hires an absolute army of "reps" who's sole job is to try to help subscribers to find functionality, through an interface that is best described as "arcane" and where there is no semblance whatsoever of a user-discoverable taxonomy of functionality. It's all just sort of "you gotta know where you want to go". Most people use 5% of the terminal's functionality (mainly messaging) but Bloomberg refuses to tier pricing. It's all or nothing. And with finance changing rapidly, the clients are axed to cut costs. Not to mention real suspicions of monopoly because bberg is increasingly competing with its own clients in order to maintain share.
This tyrannosaurus will be hard to take down frontally, but the beast is big enough and unwieldy enough that small nibbles here and there in specialized areas can be very attractive businesses.
* Bloomberg is stubbornly Windows only. No web, no Linux, no OSX no anything else except a bit of crippleware on mobile.
* Multiple Fortune 500 companies and banks would salivate at taking him on, which means a ready pool of very cash-rich potential buyers for your growing business if you get any traction, and that includes Bloomberg itself.
* Michael Bloomberg the man has not endeared himself to the current president so may be vulnerable.
* quant-style people who know what they're doing are very expensive. 200k USD plus per year.
* network-effects powerful in favour of bloomberg.
* once you're through the crusty user interface, assuming you found what you want (often with the help of a bloomberg "rep"), the actual functionality is often amazingly good.
There are some very good reasons why startups flock to the bay area, including "lots of available talent" and "that's where the VCs are", but there are also problems with being in the bay area -- talent is considerably more expensive (due in part to the cost of housing) and visa issues (particularly under the current presidency) being the first two which come to mind.
If you can find some way to give non-San-Francisco startups the same advantages that San Francisco startups have -- better tools for remote workers, for example, so that companies can easily hire from anywhere rather than needing to be where the largest number of potential employees are found; or something to make VCs interested in investing in companies which aren't within a narrow radius of Sand Hill (since I've never dealt with VCs, I have no idea what such a solution would look like) -- then you'll create a huge amount of value for companies around the world and it should be easy to transfer some of that value into your pockets.
- PCB prototyping. Board costs are way down but the 2-week turnound time kills a lot of nimbleness that could be gotten from a cheap in house rapid PCB prototyping machine. This has been tried without too much success (Othermill, LPKF, silver paint methods, etc.) imo. Isolation routing by copper ablation might even be a possibility.
- Oligonucleotide synthesis machine. This should be possible at the "hobbyist" level and would start bridging the gap to more accessible DIY bio.
- Resin 3D printing. Resin curing is one of the only methods where it's clean enough to not be hazardous, rapid and has the hope of consistent quality of 3D printing. There are some companies out there that are doing this already, of course, but I believe is still very ripe for innovation.
- DNA sequencing machines. Illumina still has a monopoly on whole genome sequencing. Even cheap genotyping at the consumer/hobbyist level would be a coup.
- Closed loop precision CNC machines. Right now most low-end hobbyist CNC machines are open loop. There's no reason, aside from NRE, that position feedback and other sensors couldn't be added to a host of CNC applications for low-cost CNC machines.
I haven't touched on some of the other electronics markets like pick and place machines that might be much more accessible with machine vision and other enabling technologies. With the DIY bio focused areas, a little infrastructure might enable other areas. For example, one step to solving the common cold might be tracking it's progress through a population, sequencing it as it crops up, seeing how it evolves and cataloging effective treatments. There's also microfluidics and "lab-on-a-chip" technology which seems like it's much more accessible now but it's not something I have a lot of familiarity with.
My opinion is that without open standards, free/libre software and free/libre hardware, all of these are almost a no-go from the start but I think that that opinion is in the minority.
But if there we're affordable headphones that are software programmable and act as an app store for noise cancellation algorithms, that would definetly reduce the price.
2. One of the ideal ways to recieve ecommerce packages is on your car's trunk. It's possible to build a smart lock for your car that enables the delivery guy to drop packages.
The hard part is making it cheap, making installation cheap, and designing a rapidly growing business model that grows rapidly.
3. Many restaurant use a combi-ovens to reheat frozen food with great results. Combi ovens are now starting to become cheap($300), most of them for the home.
But what about the workplace , where for some places, frozen food may be a good alternative to restaurant ordering(it may be cheaper, for example), but that will require an affordable multi-meal oven, which doesn't exist yet ?
4. Apache Isis is a great, rapid , domain driven framework for business app development. But it's quite complex. There may an opportunity in synmplifying it and introdcuing it to new users. Maybe in a service based form.
While it's easy to say IoT, cryptocurrency, or whatever the latest buzzwords happen to bethere's ideas that have been floating around for years which are still viable, it's just that they're hard and require exceptional execution. In that sense, they are almost timeless until implemented correctly.
For example, another comment suggested marketplace/content discovery. That's been an unsolved problem for almost a decade now. Ads are another great example: they've been dishing out human misery for about the same length of time. People hate them, so they use ad blockers, and everyone loses. These aren't new problems or opportunities.
Seems like there's room for a move something like what DigitalOcean did in the VPS space.
For example, there are some medical trials indicating, and many folkloric claims, that eating a small but increasing amount of poison ivy, oak or sumac leaf each day will fairly quickly make your body cease to respond badly to contact with those plants.
A 30-day packet of capsules, with successively increasing dosages of urushiol (the irritant in those plants), would likely build up the body's ability to tolerate urushiol. It would make it much easier and safer for the average person to remedy their condition, since, the suggestion that one gather one's own poison oak and preparing it for ingestion appears fraught with peril and leaves most poison ivy victims aghast. Were such a remedy provided in a safe encapsulated form, their fears would abate.
This would be of enormous benefit to homeowners, campers, farmers, gardeners, tree-trimmers, and in short, nearly everyone who goes out into the woods or gardens in the summer. Believe me, this would fly off the shelves once word got around.
Poison ivy sucks.
If they clubbed together with other local businesses to source common ingredients they could benefit from economies of scale; i.e. instead of 100 restaurants each buying 200 onions, there'd be a bulk order for 20,000 onions; meaning 1 lorry to deliver direct from the supplier(s) rather than multiple vans to cover each supplier/buyer combo.
i.e. Create a platform that would allow suppliers to list what they're selling, buyers to list their needs, and match these up with one another.
- Group similar suppliers or buyers together geographically to help improve the efficiency of individual orders by making them part of a larger collective order. - Add filter options so that when buying people can specify certain criteria (e.g. "I only want potatoes from soil-association approved suppliers"). - Now people don't buy from suppliers, but rather buy from a service/pool. - ...and people don't sell to buyers, but rather sell to the service/pool. - This same model works regardless of supplier or buyer size; i.e. benefits both big and small (though the benefits to smaller companies are more significant as they start to get the benefits of scale that the larger ones have anyway).
1) Free p2p money transfers / gateway to bitcoin or other crypto-currency so that it's more widely adopted
2) Better open bank accounts - allowing open transparent accounting for organizations and companies
3) Solve democracy - better analytical tools for mass discussion, arguments and decision making which will encourage use of facts and science, and discourage politics
4) Human-Machine interfaces - memory augmentation
5) Solve the common cold and influenza
6) Robotics - better batteries, finer motors and sensors - possibly through the usage of biological systems
7) Public access to satellites - realtime security monitoring, crops analytics and forecasting
8) Solve weather or create private air-conditioned jackets ;)
The pill for men won't make it. My prediction is that we'll have some other non-hormonal contraception within the next 20-30 years, probably invented by a startup that wants to disrupt this billion dollar market.
1. Why is brick and mortar still so popular, and can any pain points with e-commerce be fixed?
2. E-commerce doesn't work well on cheap items where shipping cost is prohibitive. Different companies have tried to solve this in various ways, with Prime (losing money on cheaper sales in hopes they can reduce logistics cost and drive larger sales) or Jet (directly giving shipping savings for ordering multiple items at once). It will be difficult to compete with Prime, but there has to be an angle that works, Jet found one.
3. Simpler price comparison. I tried to build the feature I thought should exist at https://icanpriceit.com/ as a side project, but didn't spend the time to properly launch it. I hope some startup succeeds in that space, I've been watching https://wikibuy.com/ which is quite similar.
I think there's plenty of room to build the next Amazon or eBay. The fees they charge third party sellers have been going up over time, if a marketplace was willing to accept lower fees at first it could help early growth.
For me, the biggest untapped market potential is educational video games (which is why I work on supermathworld.com). The market literally doesn't exist. There are but a handful of educational products that could rightfully be called "games".
I ask about industry problems, and the software that could solve those problems.
You can check it out here:
This is because the advertising industry is in a bit of a decline at the moment, and it's likely than in a few years things like AdBlock will make many ad funded businesses (like media outlets) completely unsustainable. So if anyone finds a good alternative, it will probably make them rich.
Just... good luck finding said solution, given that we've tried ads, donations, subscriptions and microtransactions and found that all four have major problems as far as getting people to actually use them goes. Still, the opportunity is there for whatever miracle worker figures out a way to make content profitable again.
The tech is mostly there, but I'm too lazy to put it altogether as I know that someone with access to more capital will also attack it, sooner or later, not just startup but IKEA, Airbnb, etc...
I'm old enough that I now go to the doctor more frequently than I used to and it's a mess. A health insurance company that could reliably allow a user to change their address on a website would be competitive. Having all of your medical procedures and orders accessible through a simple CRUD app would be a threat to a lot of multi-billion dollar companies. It's still all done through phone calls and faxes and there are lots of mistakes and it's hugely inefficient. I went to the ER last year and got 5 different bills from different departments of the same hospital. The online payment portal doesn't work unless you call them to set it up. That's not the hospital network I usually go to - my usual provider is probably worse.
Sooner or later (IoT, AR, VR) we will have to let devices (AI) to assembly the final user interface.
I imagine something like this: we designers / developers / UI architects are creating plenty of interconnectable components describing our idea of a product covering all scenarios and use cases.
Then the device will asemmbly the final UI based on the individual user, and the device capability.
For example a watch will display something different than a large digital billboard on a skyscraper.
And everyone of us will see a different design each time we look at a display, based on our individual digital history (Data mining).
The point is predetermined design must be advanced to on-demand, context based, liquid design. We let the big picture be assembled by third party, we focus only to smaller components.
I'd pay a lot (probably more than I would for my laptop / car) for a tool that would help me breathe fresh air in the midst of a polluted environment.
Of course, a long term solution would involve actually reducing pollution, but there are enough of us suffering from a lack of fresh air, that a short-term solution would be greatly valuable.
Building full fledged models / generations of popular cities and places and leasing them to film producers. Its cheaper for them to lease than it would be to hire full devs and designers to start from scratch..I know there is some 're-use' in place by these companies such as pixar and disney. Re-use is not what i am talking about though. I am talking about movies like transformers / godzilla / etc which need on point rendering of actual cities and places.
Just a thought I had the other day when reading how film companies were struggling with growing movie budgets and diminishing returns.
- Twitter w/out fake accounts.
- a marketplace that uses Facebook as a vehicle for engagement/promotion but which operates independently.
- Secure SMS for 2FA tokens
- Android w/out Play Services
- Schema-based email
- Stripe for the rest of the World
There is a new generation of investors who are not interested in the 'old stock market' but who are instead looking for equity investment that can offer the efficiency, integrity and anonymity that cryptocurrency provides.
AFAIK there's little to no innovation in this field aside from the occasional electronic voting machine, whose security may or may not be totally un-hackable.
In a day & age where the internet reaches every home, & there's a web browser in nearly everyone's pocket, it shouldn't be that difficult to effectively discern the will of the people. But we're still depending on manual polling, which as the recent US election has shown, is woefully inaccurate. Why are these still done on the phone? Why do people still have to physically go to a neighborhood voting location? Why are elected officials still allowed to make empty promises while campaigning with no follow-through once they're in office?
These are solvable problems which I'd imagine technology can indeed address.
- Infrastructure, these can also be called enablers. E.g. fiber accelerates Internet usage, AWS drastically accelerates SaaS businesses. Over time this acceleration will also happen in e.g. biotech and such introductions are to look for. If the infrastructure is missing, its likely gonna take some more time. Success stories in this category would be Spotify, Netflix and most apps.
- Accumulators is similar to a network effect. Information, money, users and customers are orbiting certain networks and companies. These instances are in their domains black holes and it's mostly a bad idea trying to restrain or compete. The opportunity is to harness the momentum. A success story in this category would be Buzzfeed.
- Automation, we are living in the golden age of automation. Essentially it's just to evaluate all repetitive tasks finding those with the highest value to the lowest investment.
Most of the value they provide can be replaced by (or already is) technology. The only thing keeping them afloat is regulation.
Phones are lasting longer and longer, the main reason to get a new one is no longer that it's too slow, it's the lack of updates. It's very wasteful.
- Most bars/restaurants still use Aloha for point of sale system. Surely someone can update this concept.
- A kitchen inventory system that doesn't rely on manual data entry, but rather barcode readers and electronic weight sensors to maintain an up to date kitchen inventory.
- In biotech, the state of off-the-shelf LIMS (laboratory information management systems) is pitiful. Granted, it's a tough problem to generalize, but every solution out there is clunky.
- A UI builder platform for non-frontend-devs to create interfaces to REST APIs through drag-and-drop form elements.
Half of the energy used every day, worldwide, is used on transportation (cars, trains etc.). But is this energy well spent? I have seen first-hand, and so have you, that people spend their mornings unhappily commuting to work, school etc.
This needs to be changed, and given how fast technology has been advancing in recent years - change is coming sooner rather than later when it comes to transportation.
Great question by the way, have a look through YC's RFC list. https://www.ycombinator.com/rfs/#vrar
Apple recently removed apps from Iranian developers who were circumventing restrictions by pretending to be from another country.
Millions of other developers can't participate in online markets we take for granted, unless someone facilitates it for them.
I mean, there is a huge amount of investments that small and medium business all around the world do not do because they don't have enough scale to get a good ROI from them. And they most often lack that scale because there's a labor cost within that investment that doesn't vary with business size. If you reduced the non-elastic labor cost, you'd normally open up a market that grows exponentially with that cost reduction.
Now, there are all kinds of ways to go after this. In theory, that's the most obvious huge application of an AI, but there are simpler avenues for that, like standardizing things, mass-selling things that currently require personalization, creating high productivity tools, or just pushing some prices down and hoping for the best (what may be the greatest way to spend VC money).
^1 Sure there is hacks for getting Ruby running on them, but no native support
^2 Yes I know about Ironworker, from iron.io, but they're going a dockerized and up market and don't even display pricing any more. :(
Disclaimer: I don't work for MapD.
Anyway something that would make the web on phones great.
If you want to try, just keep on asking yourself if you are awake throughout the day. Try reading something, it's difficult to read something on dreams. Or try using electricity switches, they normally don't work in a dream. Sooner or later you would find while doing this that you are in a dream. From there, sky is literally the limit. Imagine whatever you want, fly across mountains, travel in spaceships, etc. till the time you wake up.
And I noticed all of the previous winners were other farmer's markets managers expanded their current market. It would be nice to see some new way of helping the underserved community get food.
So examples I've seen are ideas are mini markets at bus stops.
You can see that there are certain companies that are helping to tackle these issues in various roundabout ways, but I believe that there is big opportunity here, and it's kind of easy to quantify these issues, which makes it easy to sell solutions.
Sorry if this sounds very broad and generic, but I promise if you sit on this idea, and take just a single societal issue, once you start to dig a bit deeper you'll see opportunities jump out.
I want really easy, flexible instances that are super, super simple to activate. Something like click website -> click start GPU with tensorflow preinstalled -> upload & run my python.
Ideally per minute-billing and super, super simple to set-up and ssh into.
Hence why we're working on improving the blogging experience that hasn't changed and/or improved much in almost 2 decades.
Our "manifesto" explains it in full here: http://blogenhancement.com/?to=manifesto
Things that could expedite this:
Better affordable EDA tools (maybe even open source? startups that succeed and become self-sufficient would pay big bucks for customization and support). Especially for analog!
Some sort of business model which pays for masks, such as perhaps taking a percentage of the money in exchange for a MLM mask. This could be something that a mask work company does. Another related but orthogonal startup idea(albeit much harder than an app like snapchat)would be to develop a maskless lithography technique for cutting edge nodes, such as electron beam lithography.
-- Geo-spatial-- Tax analysis-- Real property automation (a dozen different workflows)-- Permit automation and analysis(multiple workflows)-- Licensing automation and analysis
"By wearing this standard ear-bud headphone, modified with a small piezoelectric sensor, the user can control their phone solely with their neural impulses.Point, click, drag, even type...all using only brainwaves.Think it...and it happens."
1) Post-quantum encryption.
3) Storing kynetic energy.
4) Echo/acoustic mapping (inspired in bats) system for blind people.
5) Quantum computer chips operating at room temperature.
2. Ketogenic diet cafeterias
3. Semantic programming + smart contracts + automated UI design
4. Social score (trust, reliability, predictability)
5. Mechanical Turk / AI powered object recognition
Figure out how to use CRISPR to insert or edit genes that we already know help to make some people practically bullet proof when it comes to cholesterol and common cardiovascular problems. Patent everything you can around using CRISPR to fight high cholesterol (the drug market for that is truly massively). Move fast, right now, while most of the pharma giants are asleep at the wheel (most of big pharma is a minimum of five years behind the curve, they always try to buy their way out of it after the fact).
Congratulations, you're now a billionaire.
We live in the dark ages of startup capital investment, and it's as hard to get investment as it was to get an education in the 1400s: you had to be rich, privileged, then go to a center of University learning. Geographically speaking, it is as bad today. Today, you have to go to silicon valley (as in, physically drag your body there) or one of a few other major startup centers (which give much poorer results), then somehow network your way into getting introductions. it is like being a scientist in the fifteenth century. enormous privilege and very difficult to achieve, with no clear path. Disrupting these geographic facts of capital investment and access to the startup and equity culture and markets is massive - when this starts to change, it will completely change the face of the planet in every way, for everyone.
If you want to make the most massive disruption you can make in your lifetime, disrupt the geography of startup ecosystems.
> market segment -Non English speaking
1. Calories in, calories out is the golden rule.
2. The vast majority of calories come from carbohydrates.
3. Carbohydrates activate addictive dopaminergic pathways (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2235907/pdf/nih...)
People overeat because food is easy to access, and it provides a short-term, immediate chemical reward. External rewards often need to be introduced to break this vicious cycle. Hobbies, relationships, career achievements, etc. can function as alternative rewards. Perhaps there is a way for technology to provide short-term rewards in lieu of eating?
Also study some goddamned math, logic, and science. I say this because I don't want to choke any more superstitious co-founders. Closet is going to burst. They always think they can grease you into believing their stupid plan and that that somehow makes it real, right up to the point that you stab their stupid eye socket and they see the truth, but it's too late.
the content is the best in the world. Total game changers. Just have to take the time and read
these guys are amazing
Note: The order of content policies in the above case depends on the precedence of installation.
I recall reading somewhere that chromium used the reverse order, but I'm not certain this is still the case.
* Noise cancelling headphones. Especially useful with no music playing through it. If music, ambient or techno without words seem to help depending on what I'm doing.
* Understanding your most productive times of day and taking advantage of them (for me, its the morning. Afternoon is the worst)
* Reducing all distractions as much as possible. Turning off WiFi, putting your phone on silent (or better, keep it in your bag out of sight) really helps.
* Making lists. Breaking things down into smaller tasks that I can see myself completing and then giving myself small rewards for completing them.
* Rest and daily exercise is a BIG DEAL. Exercise especially helps my willpower and ability to stay focused throughout the day. Try Yoga!
* Natural light keeps me feeling fresh. Artificial light wears me out.
* Take walks on your breaks, avoid surfing the internet or extra stimulation... doesn't help and makes focusing even harder.
* Marijuana. Low doses of indica dominant strains either via edible or smoked helps keep me locked in a focused on something way better than any stimulant drug.
So the first things first: Figure out how to deal with the environment. I prefer either to be in a silent house, alone, but that isn't doable often, so I tend to like music or something like NPR, BBC News, and so on because that minimizes the effect. Sometimes headphones are a bonus.
Classrooms are different altogether. Granted, I recently completed 2 years of language classes (Norwegian, because I moved here). The first year was difficult. Class moved slowly, and I'd get bored. I doodled in class to help me focus, and always took notes. Anything physical to keep me in-tune with the words. The second year was much better, as I was learning health-care stuff along with the language. I stopped doodling because the pace of class was on-target. In addition, we'd change activities often.
Studying on my own has proven more difficult, as I procrastinate. I'm going to need to start being more interactive. My solution is more a work-around: I'm gonna volunteer, probably to talk to someone elderly that requested some company. I'm more motivated to broaden my language skills this way. And I try to do this sort of thing as much as possible.
Frequent breaks are another solution, if you can. It isn't so bad to commit to 15-30 minutes to study something... Kinda like the advice they give to people starting to meditate.
And that's all I have for now. Much luck to you, your struggle is real.
First: Some kinds of work are better suited to ADHD folks than others. Try to devise an academic career that focus on these activities. Writing on a word processor is an example. The non-linear aspects of re-writing to improve what you have written is a good fit to the non-linear thought processes ADHD folks live by. Begin with stream-of-thought writing, then re-write as inspiration dictates. Structured and Objective programming also is well suited because visual rigorous structure makes is easy to refresh focus with a glance following a distraction, and strict objective practice isolates a single function into a small package that is easy to complete before attention wanders. That programming takes place in a graphical/word processing environment is an additional advantage for ADHD folks. Graphical work like drawing or painting is easy to re-focus on for the same reasons. Any program that offers a dynamic editing environment that permits non-linear editing or permits ratcheting forward a task and easy review would have similar advantages. Planning any activity or writing and organizing notes using a outline processor works well. The point here is don't try to work like other folks. find ways to work like you think: non-linearly.
Second: Dealing with procrastination. Getting started on a task is a massive problem for ADHD folks. Read "Getting Things Done" and implement it on a outline processor. You can't overcome procrastination if you don't know what needs to be done. Next here is a little procedure that works wonders: Sit down on the couch and work up a substantial feeling of guilt for not starting a project. Then make a deal with yourself. If you get up and just get the job started (e.g. scraping the dishes and putting them in the sink or launching an IDE and defining the variables) you will have pushed the task forward and will have earned the right to sit back down. Once you are started however, it is such a relief to have started that there is no way you will want to sit back down.
I realize that these programs are not specifically target at learning for ADHD folk like you are looking for, but they do help quite a bit. For decades now I have pondered what sort of program might directly address this problem. I've been working on something along these lines for a few years now. It might help someday.
Hang in there my friend.
1) short afternoon bike ride; I'm typically losing focus about an hour after lunch and need to get outside;
2) Terrible at learning in a classroom, excellent at learning from video lectues and textbooks where I can pause and take notes;
3) drink a lot of water and coffee so you have to get up to go to the bathroom a lot, change of scenery is really nice;
4) I disabled my facebook account and put my browser on Desktop-screen-2 so I totally shift over to a new environment when checking the internet;
5) Found a job in which constantly checking email and paying attention to new stimuli is a virtue.
* Asking myself if I really need to do something. If the answer is no, not doing it is one thing less to distract me.
* Asserting myself by saying "I'm not finished" when interrupted in a conversation (helps when you give others a chance to speak)
* Turning off the ringer on my phone whenever possible.
* Choosing a career that is both interest (you wanna pay attention to it) and doesn't demand being interrupted as part of it's duties (such as answering a phone).
* Working with people who naturally want answer questions, because reading is harder.
* Noise cancelling headphones.
Medication might help, but you'll have to figure that part out yourself.
"The Information Diet": http://www.informationdiet.com/
"Deep Work": http://calnewport.com/books/deep-work/
Otherwise, I've heard good things about caffeine with L-Theanine (though I haven't tried this combo yet myself). Apparently L-Theanine takes the jitters out of caffeine and lets you focus more.
You can also use a screensharing program like appear.in to do this remotely. Anyone in this thread should feel free to email me if you want to spend a weekend learning alongside someone else. Bonus points if you are in London.
What is the difference (or where is the line drawn) between laziness and attention issues? Do they have similiar affects (procrastination, etc)
Oh, and humans can't multitask. It's also more "expensive" to having to restart a task.
Changing setting also works for me. I get different types of work done on my couch at home vs. at local coffee shops (and different coffee shops are good for different things). I hear part of this is that you form mental associations with different places as being suited for different kinds of work, and it's possible that your couch (or worse, your desk at work) is associated with doing too many things, none of which are learning.
Also, I might mention that adult ADHD is a thing that exists and that doctors can care for. (I myself went in to double-check that that wasn't my problem; it wasn't, but it was worth being sure.)
Another thing - you may start a brand new code with Perl6, it is always a green field in automation / ops tasks.
Do I use a Perl6 in production? Yes I do. Recently I have updated ~ 500 servers with the help of Sparrowdo - http://sparrowdo.wordpress.com/ - a configuration management tool written on Perl6.
So for sure - Perl5 folks please look at Perl6. Other people as well :) It's neat, modern language.
As far as speed is concerned - with the modern approach to concurrent programming, it does not really make a difference which of the above languages you'd choose, as long as your architecture is right. IO::Async may in many scenarious be faster than Node, Perl devs are probably 2x the price of a JS guy...
So the question for Perl6 is really - when, if ever, is it going to have tools like npm, make, pip to simplify the maintenance of a project. Not to mention proper debugger (i.e. Perl6 debugging plugin for VSCODE).
Perl6 is a lot of syntax even for Perl5 oldies like myself, and I'll need a very long list of assurances to convince any client/manager/colleague to take this road. Because chances are I end up being the only living soul on the planet able to maintain my Perl6 code.
After all - R&D is not only about the initial writing (that'd be 15-20% of all time), but also debugging (huge part), CI (some 15-20%), and post-release support.
Unfortunately languages like Scala and ES6 are presently way more appealing with already-complete ecosystems of tools and editors. They also provide pretty much the same performance for likewise non-enterprise projects. On the contrary - in order to introduce Perl6 in an enterprise (where Perl5 is still considered an option), one would have to have a very convincing set of arguments...
I pulled Perl6 in after seeing some of what it was capable of last year. Generally I like tools that make hard things easier, and easy things trivial. I don't like tools that require huge amounts of boilerplate code to even start using them productively.
Perl6 is definitely in the category of making hard things easier. It is not Perl5, and doesn't pretend to be. Perl5 is immensely powerful on its own, definitely one of my go-to tools.
Perl6 brings in many of the things that I've been using in other languages for a while, with some aspect of "perl-ness" about it, which, to me, makes it more comfortable. Its ability to connect with/call anything positively blows me away. Perl5 has Platypus::FFI which can do some of this, but Perl6 is a compiled language (to an underlying VM). This has been one of my major concerns with P5 for a while (and still a concern in Python and others ... yeah, I know of PyPy, but I want a compiler built into Python 3.x).
I've used Perl 6 for IRC bots. The ease of writing parallel code, nice OO model, multi dispatch, and subsets make it very pleasant to do them in Perl 6. Here's a bot I wrote that listens for GitHub webhooks and reports new commits and PRs: https://github.com/perl6/geth and here's another one that's just a bunch of random features: https://github.com/zoffixznet/perl6-buggable/
I also heard people say grammars are the most note-worthy feature of Perl 6 and people basically use them to quickly hack up a nice little micro-language in which they then attack their problem. Before I came to Perl 6 I was dumb as shoe when it came to writing parsers, but I find it trivial to do with Perl 6 grammars.
Do I like it? Although I'm obviously biased, I love the language. It lets you write beautifully concise, yet still readable, code. It even lets you use much more readable syntax for regexes. Somewhat regretfully, it made it very difficult for me to learn other languages, as in them I end up writing 3x, 4x, 6x the amount of code and I keep getting reminded of Larry Wall saying Perl 6 would be the last language you'd learn. In Perl 6 I can "talk"; in other languages, I write "code".
However, while the language is fantastic, the implementation still has a lot of work to be done to polish it off. It's basically a 1.0 release. Unlike Go, Rust, or Swift, there isn't a giant corporation behind Perl 6 that can just throw money at problems until they disappear. Compared to other languages, some things are still unoptimized and are much slower. I spotted some leakage that makes it problematic for very-long-running (months) programs. About 65 new bug tickets are opened per month. The test suite is pretty sparse in some areas (which is the likely reason for many of the new bug tickets). But... three new core developers joined this January, so hopefully all that will get improved pretty fast.
Someone in the comments also mentioned the baby-sized ecosystem... Since Perl 6 lets you use C libraries without needing to compile anything, people wrote stuff like Inline::Perl5 and Inline::Python that let you import and even subclass stuff from Perl 5 and Python. And that's a bit of a double-edge sword: yes, it's trivial to use libraries from Perl 5 and Python, but it also stunts the ecosystem; no one has enough motivation to re-invent the wheel in Perl 6 when the wheels from other languages are reasonably usable.
Also, Perl 6 makes it easy to write short and concise code that will also be very readable.
The project I wrote is a command line tool for fetching football(soccer) data, which uses a module I wrote for getting the data from http://football-data.org
I feel that Perl 6 is an amazing language. The regex and grammars are fantastic for doing any sort of parsing. The built in support for reactive programming and gradual typing with the given/when syntax is fantastic. The type constraint and multi dispatch mechanism is also great.
However, only until the latest release 2017-01, did I feel the MoarVM is stable enough for production use.
It is still very new (from a release time perspective). I don't expect there are very many large-scale real-world usages yet. I do wish that the Perl 6 community would spend a little more time on advocacy but thankfully there are several books on the way and hopefully that will start breaking out of the echo chamber and introducing the language to the masses.
I'm still interested in it, but it just doesn't work for me as an ecosystem yet.
Traits and roles are really neat - they feel like a natural conclusion to what Ruby started building upon with respect to metaprogramming natural syntax and encouraging developer happiness over strictness.
On the whole, however, many small parts of Perl 6 feel immature. There's no core JSON/YAML module, and there's no "official" module manager yet - just panda and a few others.
Overall I'd recommend tinkering with it, but I don't think it's ready (as an ecosystem) for larger development. Hopefully soon, though!
I hadn't even realized Perl 6 was out! I remember years ago it kind of being labeled as the "Duke Nukem Forever" of programming languages versions. I don't personally use it but I'm glad to see it is out (even if I found out a year late).
However, most people have dismissed it because they think Perl 5 is dead and anything using Perl should be replaced with Python or Ruby or Go or Rust or some other language.
The hacker flavour of the language has been preserved and that's the niche it would fill for me...if I didn't have to basically do frontend web all day.
Let's say that I'm glad that Perl 6 is there as an option.
I had issues finding the right modules to use, like which webserver to use, with which module to make http requests. But the biggest issue was that the hoster I initially wanted to use doesn't have perl6 pre-installed, and compiling it fails because the compilation itself uses too much memory. I then moved it to a bare metal server, where compiling Rakudo Star succeeded.
The whole Rakudo Star thing, that there are different VMs (that there are VMs in the first place), that there are different module manager, all that was totally confusing. But I liked the language itself a bit, it was nice testing something else.
While CPAN hosts a vast archive of nearly 35,000 modules, many are aging. Fewer than 800 modules are known to exist for Perl 6.
 http://www.modulecounts.com/ https://modules.perl6.org/
I have no plans to try and ship software written in it.
Perl5 is a fine language that is over-attacked, and neat stuff is still done in it. Ruby as a language is better (but more subject to hype and so more often overrated)... and I'm confident that Perl6 is full of neat stuff. I wish it the best. And I will take any of these languages over Java for most problems I've faced.
But if you stick with too much Perl for too long you run a serious risk of being typecast as a "Perl guy" familiar only with dated languages, fairly or otherwise, and can expect a hard time finding the sort of jobs you want in the future, which is a pity. (Which isn't to say you won't find jobs, just that the pool of jobs will lean towards "maintain legacy code with no chance to refactor make your time" and "build engineer".) This is why I branched out in the first place.
My next target is Elixir (and then by extension, Erlang), narrowly winning out over Scala, with Go/Rust/OCaml trailing behind a little. I reckon Scala is probably more practical, and surprisingly popular in Europe, but I like working with a "reliability" mindset more than not and therefore forecast that I'll like the tools and opportunities in Elixir better. I've barely started but my initial reaction to what I've seen is quite positive.
- But at some level, all that's just me, and you shouldn't take lessons from my experience nearly so much as it should prompt you to think about your own experience and what you want out of programming as a hobby or as your career.
What is Perl6 now?
It's a very basic (primitive ?) CGI/perl design made performant with mod-perl, etc.
I started my career building shopping carts based on what I learned from _The CGI Book_ (and the web forum that sprung from it) ... 23 years later we're building a modern startup based on the same workflow.
My biggest Perl 6 project (much bigger than anything I ever tried in Perl 4/5) is the ABC module . This provides a grammar for parsing ABC music notation , a set of classes for representing ABC data, and some scripts built using it. The one I use the most is abc2ly, which translates ABC files to Lilypond format  for producing beautiful sheet music .
The other tool of mine I use routinely is TagTools . There's nothing really fancy there, just a bunch of simple scripts which use Perl 6's Audio::Taglib::Simple module to work with the tags on MP3 files. But they were easy to write, come in handy for working with MP3s, and are easy to modify for odd cases.
Recently I've done a couple of scripts which rely on Inline::Python. The latest is wunderlist.pl, which I have installed in cron to update my Wunderlist to-do list every day. There is (to the best of my knowledge) no Perl6 module for working with the Wunderlist API, but there is a Python module, wunderpy2. There is a bit of boilerplate glue code there (lines 16-21 of the script) but once that's done using the Python module is almost indistinguishable from working with normal Perl 6. (Of course, if you're fluent in Python this maybe isn't such a big deal for you, but I don't know more than a tiny bit of Python, and Inline::Python lets me effectively use Python modules from the comfortable-to-me world of Perl 6.)
 https://github.com/colomon/ABC (Note that as I write this, the README is about 4 years out of date.]
 For instance, http://www.harmonyware.com/tunes/They_Sailed_From_Belfast.ht...
I just wish I had an excuse to use it. The problem is, most of the time I start a new project, I default to Python because it's what I know. I know the libraries, I know the quirks of the built-in data structures, etc. So I just go with what I know.
I really wish I had the discipline to sit down and tell myself "I'm going to write this next project in Perl 6 no matter how much time it takes to figure out how to do what I want to do".
Like, I actually just started a personal project to parse some US Census data a few days ago. I could have, and probably should have, taken the opportunity to write it in Perl 6. But I got lazy and just went with what I knew. I feel really bad about that, since from what I've seen, it sounds like a language I'll love working with just as much as Python.
Capital letter keywords etc.
Wish it was more like Perl 5 and more performant.
But we shall see, it might change a lot the next years as it matures.
HackerNews is very developer-focused. If you guys saw what a radiologist does on a 9-5 basis you'd be amazed it hasn't already been automated. Sitting behind a computer, looking at images and writing a note takes up 90% of a radiologist's time. There are innumerable tools to help radiologists read more images in less time: Dictation software, pre-filled templates, IDE-like editors with hotkeys for navigating reports, etc. There are even programs that automate the order in which images are presented so a radiologist can read high-complexity cases early, and burn through low-complexity ones later on.
What's even more striking is that the field of radiology is standardized, in stark contrast to the EMR world. All images are stored on PACS which communicate using DICOM and HL7. The challenges to full-automation are gaining access to data, training effective models, and, most importantly, driving user adoption. If case volumes continue to rise, radiologists will be more than happy to automate additional steps of their workflow.
Edit: A lot of push back from radiologist is in regards to the feasibility of automated reads, as these have been preached for years with few coming to fruition. I like to point out that the deep learning renaissance in computer vision started in 2012 with AlexNet; this stuff is very new, more effective, and quite different than previous models.
As an example, one survey (https://ashleynolan.co.uk/blog/frontend-tooling-survey-2016-...) put the number of developers who don't use any test tools at almost 50%. In the same survey about 80% of people stated their level of JS knowledge was Intermediate, Advanced or Expert.
This also brings me to Traefik, one of the coolest projects I have come across in the last months.
Traefik + DC/OS + CI/CD is what allows developers to create value for the business in hours and not in days or weeks.
Transfer Learning (so we need less data to build models) http://ftp.cs.wisc.edu/machine-learning/shavlik-group/torrey...
Generative adversarial networks (so computers can get human like abilities at generating content) https://papers.nips.cc/paper/5423-generative-adversarial-net...
Most developed implementation is BayesDB, but there's a lot of ideas coming out of a number of places right now.
- Meta-tracing, e.g. PyPy.
- End-to-end verification of compilers, e.g. CompCert and CakeML.
- Mainstreamisation of the ideas of ML-like languages, e.g. Scala, Rust, Haskell, and the effect these ideas have on legacy languages, e.g. C++, Java 9, C#.
- Beginning of use of resource types outside pure research, e.g. affine types in Rust and experimental use of session types.
Foundation of mathematics:
- Homotopy type theory.
- Increasing mainstreamisation of interactive theorem provers, e.g. Isabelle/HOL, Coq, Agda.
- Increasing ability to have program logics for most programming language constructs.
- Increasingly usable automatic theorem provers (SAT and SMT solvers) that just about everything in automated program verification 'compiles' down to.
There's been a renaissance of study in placebo effects, meditation, and general frameworks for how people change belief for therapeutic purposes or otherwise, but to me, that's been going on for a long time and is more about acceptance than being a new development.
One of the most exciting developments that's been coming out recently is playing with language to do what's called context-free conversational change.
Essentially, you can help someone solve an issue without actually knowing the details or even generally what they need help with. It's like homomorphic encryption for therapy. A therapist can do work, a client can report results, but the problem itself can be a black box along with a bit of the solution as well since much of the change is unconscious.
It works better with feedback (a conversation) of course, but often can be utilized in a more canned manner if you know the type of problem well enough.
I'm working on putting together an automated solution that's based on some loose grammar rules, NLP, Markov chains, and anything else I can use to help a machine be creative in language to help people solve their own problems, but as a first step as a useful tool for beginner therapists to help them get used to the ideas and frameworks with language to use.
So essentially, I'm getting a good chunk of the way toward hacking on a machine that can reliably work on people's problems without having to train a full AI or anything remotely resembling real intelligence, just mimicking it.
Before you go thinking, "Didn't they do that with Eliza?" Well yes, in a way, but my implementation is using an entirely different approach.
With the brutalist movement something new started. People went back to code editors to create websites by hand skipping third-party, non-web-native user interface design tools prefilled with common knowledge making websites looking uniform.
The idea of design silos and brand-specific design thinking is dropped: no more bootstrap, flat design, material design, etc.
It's like back to the nineties and reinventing web design. You start from scratch, on your own, and build bottom up without external influence and or help.
It's about creativity vs. the bandwagon, about crafting your own instead of putting together from popular pieces.
Lambdas are lightweight function calls that can be spawned on demand in sub-millisecond time and don't need a server that's constantly running. They can replace most server code in many settings, e.g. when building REST APIs that are backed by cloud services such as Amazon DynamoDB.
I've heard many impressive things about this way of designing your architecture, and it seems to be able to dramatically reduce cost in some cases, sometimes by more than 10 times.
The drawback is that currently there is a lot of vendor lock-in, as Amazon is (to my knowledge) the only cloud service that offers lambda functions with a really tight and well-working integration with their other services (this is important because on their own lambdas are not very useful).
TLDR: Fancy fused infrared (LWIR/SWIR) and visible spectrum camera systems may 'soon' be on a passenger airliner near you.
Using infrared cameras to see through fog/haze to land aircraft has been happening for a while now, but only on biz jets or on FedEx aircraft with a waiver. The FAA has gained enough confidence in the systems that they have just opened up the rules to allow these camera systems to be used to land on passenger aircraft.
Combine that with the fact that airports are transitioning away from incandescent lights to LEDs (meaning a purely IR sensor system is not longer enough), and you get multi-sensor image fusion work to do and a whole new market to sell them to.
Here is a blog post (from a competitor of ours) talking about the new rules.
1. D4M: Dynamic Distributed Dimensional Data Model
http://www.mit.edu/~kepner/D4M/ GraphBLAS: http://graphblas.org
Achieving 100M database inserts per second using Apache Accumulo and D4M https://news.ycombinator.com/item?id=13465141
MIT D4M: Signal Processing on Databases [video] https://www.youtube.com/playlist?list=PLUl4u3cNGP62DPmPLrVyY...
2. Topological / Metric Space Model
Fast and Scalable Analysis of Massive Social Graphshttp://www.cs.ucsb.edu/~ravenben/temp/rigel.pdf
Quantum Processes in Graph Computing - Marko Rodriguez [video] https://www.youtube.com/watch?v=qRoAInXxgtc
3. Propagator Model
Revised Report on the Propagator Model https://groups.csail.mit.edu/mac/users/gjs/propagators/
Constraints and Hallucinations: Filling in the Details - Gerry Sussman [video]https://www.youtube.com/watch?v=mwxknB4SgvM
We Really Don't Know How to Compute - Gerry Sussman [video]https://www.youtube.com/watch?v=O3tVctB_VSU
Propagators - Edward Kmett - Boston Haskell [video] https://www.youtube.com/watch?v=DyPzPeOPgUE
I'm not sure I did justice to instant apps, because there's a language barrier playing in. But here's an example: I use the Amazon app maybe once every 2 weeks, and yet it's one of the apps consuming most amount of memory on my phone due to background services. After Amazon integrates instant apps, I'll be able to delete the app, and just google search for the product through my phone. The Google search will then download the required page as an app, giving me the experience of an app, whilst not even having it on the phone.
Metamaterials: Essentially a material engineered to have a unique property. By precisely controlling a materials structure you can influence how it interacts with electromagnetic waves, sound etc. You can create materials with unique properties such as a negative refractive index over certain wavelengths. It's kind of a novelty but people are building "cloaking devices" using metamaterials i.e. bending electromagnetic waves around a material in certain ways to make it appear invisible to certain frequencies.
Graphene (and other 2D materials): These materials are a relatively recent discovery, graphene was confirmed in 2004 and it has a number of interesting properties. In particular its electrical and thermal properties make it promising for a number of applications. I think it could possibly find applications in batteries, transistors and capacitors. At the moment it is a very expensive material to manufacture which makes it (currently) unsuited for commercial applications. There is a heap of active research involving graphene at the moment.
.Net Core: Finally, cross platform .Net. Deploying .Net services to Linux is a dream come true. Can't wait for the platform to stabilize.
Windows Server 2016: For "legacy" applications forced to stay on Windows, containers and Docker on Windows is a game changer. One step closer to hopefully making Windows servers somewhat manageable.
Google's Deep Mind put out some kind of cool stuff recentely , but I'm mostly just excited for anything that Ilker Yildirim  is doing with Joshua Tanenbaum, because it seems to triangulate more with how humans think about physics. When I was at CogSci 2016, Joshua mentioned combining this with analogical reasoning and that also sounded super cool, even though I'm not sure how to the two fit together.
 https://arxiv.org/abs/1612.00222 http://www.mit.edu/~ilkery/
On the networking side of things, I'm excited about network virtualization and the potential that tools like Docker and Kubernetes give to virtualizing large and complex network topologies.
And as an employee of an IT-heavy enterprise, seeing DevOps becoming a thing makes me happy, even if adoption is slow and expectations are high. It's still better than waiting 6 months to get a couple of VMs to deploy my projects to...
With the right program and a distinctive chemistry to target in the unwanted cell population, this flexible technology has next to no side-effects, and enables rapid development of therapies such as:
1) senescent cell clearance with resorting to chemotherapeutics, something shown to extend life in mice, reduce age-related inflammation, reverse measures of aging in various tissues, and slow the progression of vascular disease.
2) killing cancer cells without chemotherapeutics or immunotherapies.
3) destroying all mature immune cells without chemotherapeutics, an approach that should cure all common forms of autoimmunity (or it would be surprising to find one where it doesn't), and also could be used to reverse a sizable fraction of age-related immune decline, that part of it caused by malfunctioning and incorrectly specialized immune cells.
And so forth. It turns out that low-impact selective cell destruction has a great many profoundly important uses in medicine.
Regenerative medicine: understanding DNA code and restoring cells and organs, making eternal youth possible. It will take decades of hard work.
Ending cancer: We are studding virus mutations, so we could attack them without invasive techniques.
Nuclear fusion: We are simulating plasma physics. This is going to be enormous in ten years or so imho.
In UX an interesting trend is a flood of Software Tools which help during Design, evaluation, Research, etc.
Also adaptive UI which is changed due to user attributes and past behaviour seems to be trendy now (supported by the online marketing field with auto-optimizing Interfaces which optimize for conversion autonomously, etc.)
We're porting a sizable application to .Net Core so we can be on Linux and save cost and time on instance launch.
I'm writing an in-depth blog post series about the process because I haven't found any significant migration stories. I'm hoping it will help a lot of people through the process.
Long story short, so many processes I work with are done completely manually, which is a colossal waste of time. When I started, the person who previously did my job had about 7 main processes they completed monthly, which took about 60 hours to complete. Those 7 processes take my about 10 hours to do after I built automated workbooks
The sad thing is that these excel capabilities have been around forever, but no one understands them.
I believe the biggest advancement in the field of education is going to come with VR. With VR, we can dramatically reduce the cost of "learning while doing", which should be the only way of learning. With AI, we can provide highly personalised paths for learners.
VR and AI technologies are finally coming to a point where together they can provide a breakthrough in industries which are mostly untouched since decades.
Flexible solar panels, LED lighting with open source drivers, and the new generation of DC refrigerators are all incredibly exciting and are allowing us to experiment with living without grid electricity.
In programming in companies: realization that internal customers not having choice of internal IT providers hurts IT because it reduces IT's need to deliver valuable solutions effectively.
In leadership: management structure is a framework to enforce standardization and generally doesn't adapt well to change, even with the latest management silver bullets (lean, Agile, flat-orgs, etc)
Also in leadership: profound changes are occuring in society and geographies no longer define cultures.
In commercial writing: it's still early, and this takes time, but the concept of the "book" and how it's created is changing. Technologies that allow writers, editors, and beta readers to work on the manuscript simultaneously are increasing the velocity of change.
In art in general: someone else here mentioned music creation and payment is enabling entrants to sustain themselves in niche markets. This is happening in nearly all art forms, not just music. As electronic transfer fidelity increases, more art can be digitized, monetized. Look for more politicized, more global-reach art.
All these things stem from a greater understanding of the world and of human beings, starting with ourselves. It's important to realize each human being is a highly complex system and that generalizations about groups of humans are increasingly being challenged as scientifically unsound.
In particular, wireless transmitters for roomscale are really exciting - seriously, I cannot wait to get rid of the wire-to-head era - as is roomscale for mobile devices.
The Vive getting additional trackers is also super-cool, as that will enable some much better forms of locomotion through foot-tracking. It'll take a little while to take off but I expect the Lighthouse tracking ecosystem to produce all kinds of cool things.
(Not all in VR, either. Drones plus Lighthouse, for example...)
2) More understanding of the "bio psycho social" model of mental illness, with better coordination across different agencies to prevent suicide.
So I can highly recommend the field of remote sensing as there are many interesting problems to solve.
Also, I'm really looking forward to the ActivityPub  implementation, that'll do a lot of interesting things for decentralized web.
Analysis has always been an area that the tech community has lacked, ever since it was overdone back in the days of structured programming. It's really cool to bring back a bit of structured analysis as just another tool in the DevOps pipeline and join up the information with all the folks that need it.
Edit: there is a lot to be excited about these days
cross platform, open source, very fast
Another hot topic are organoid bodies and organs-on-a-chip. These are experimental systems where stem cells are turned to grow into structures similar to embryos or organs that allow the study of development and facilitate drug testing etc.
Thirdly, advances in sequencing made it possible to study what kind of bacteria live symbiotically within and on us. The composition of this so called microbiome seems to widely affect body and mind.
Finally, in my personal field, the simulation of how "simple" cells build complex structures and solve difficult tasks, the most exciting development is GPGPU :-)
Lots of cool stuff in the space like Kubernetes, Swarm, CoreOS, rkt!!
In my view, there are still a huge room of applications where wireless and sensor combined, and we already have web/native platforms. This is so exciting development!
In summary, the use of machine learning can help us develop better representations of chemical reactions, catalyst behavior, and we can now use adaptive learning to create closed-loop systems to identify, carry out, and optimize chemical processes to reduce environmental impact, reduce energy usage, and decrease costs.
The state of the art isn't quite there, but I see no major conceptual barriers left -- just a matter of implementing it.
This is coupled with a move away from cookies.
Basically, it pits two networks in a "duel" and one of them is a generator network that learns to make images.
A fast compiled ruby-like programming language.
No one needs Babel to write stellar code IMHO. Unfortunately it is not about the quality of the code you write, it is about being politically correct. This whole ES6/ES7 thing is much based on what Coffeescript, Livescript, etc.. already did much better more than 5 years ago. And I dare to guess that most of the Babel proponents don't even realise it's just a transpiler that they will need till the end of the projects live.
note: I expect serious down votes as opposing Babel is almost a serious crime nowadays and proves my unlimited stupidity.
No, web development is not really exiting nowadays, it is more terrifying, where the hype goes tomorrow? Maybe soon I will be forced to write in MS Typescript if I want to be taken seriously. Same counts for Redux because Flux is so 2014.. you must be very brave not using Redux! I can go on and on, way too many examples..
Finding a web developer job now is particularly about complying to made up standards that become more complex every day. And I've seen quit some horrible code bases that perfectly comply! It's a very sad reality.
Their current scale-up of instruments I think means that they're looking to aggressively push into diagnostic applications.
The lack of competition is unfortunate however.
If you scroll down to the Economic indicators, you will see that on average people in the US work around 1.700 hours a year, whereas people in Germany (and many other European countries) work only 1.400 hours. This alone can already explain 20 % of the wage gap between the two countries, and in fact if you look at the average salary per hour worked, it is almost identical (32 USD), which would support this theory. In addition, many things like education, housing, social security and health insurance are much cheaper in Europe, which leads to lower salaries (as they tend to follow the cost of living). Furthermore, regulations in Europe are stronger than in the US, which makes it more difficult (or sometimes even impossible) to fire people once they have been employed for some time. Hence the risk of losing your job is smaller, which should lead to a lower salary as well as companies face a higher risk when hiring someone, and employees have less risk.
And in extreme tech hot spots like SV or NY there should course be an additional effect due to the high demand of skilled IT professionals and the fact that people can usually find a new job very easily, which also makes it easier to negotiate a higher salary and forces companies to pay above average rates to attract talent, which is a self-reinforcing effect.
As a software engineere in germany you are earning good money.
There are no killings in cities, affordable health care, high quality living standards, university costs 150$ for 6 month, no donald trump, 30 days real holiday (i take them, everyone does, every year), seldom over hours, parental leave.
Btw. IT is more than google, apple, facebook and twitter.
And no we do not have anywhere in germany rent prices like in NY or in SF. Perhaps, only, if even in the middlest of the centere.
I think there is also not as much of a general tech talent shortage in Europe, so it's not one of the most in-demand jobs outside of specialized areas (if you're a top deep-learning expert right now, yes, but not for general programming / SE jobs). Many European countries traditionally have very strong STEM education, in a number of cases actually overproducing highly skilled graduates in the field relative to the local industry's needs (which is why you see a lot of Spanish, Romanian, Greek, Italian, etc. STEM graduates working in other countries). Not quite as badly oversupplied in the "T" part of STEM as in the "M" part, but still, not a shortage.
edit: Oh, another factor, for right now, that I should've mentioned is that the U.S. dollar is much stronger against the Euro and UK pound than it has been historically (even compared to a year or two ago), while salaries don't respond that quickly to currency movements. There are still significant differences if you use circa 2015 exchange rates, but smaller.
The cost of housing in Vancouver, Canada is right behind New York and San Fran. I don't think wages has anything to do with cost of living. In general I think Canadian investments are less risk tolerant, the market doesn't shift as fast as it does in the States, and therefore less cash flow. Also, its in the employers best interest to keep salaries down and convince their employees that living in Canada (Vancouver instead of San Fran) is better (how ever you define better).
I would love to see salary vs cost-of-living comparisons globally. I suspect this might account for the disparity, but I'm afraid I don't have the data to confirm or disprove this assertion.
Update: Spent 5 minutes googling with no luck. Found some moving company (?!) sponsored data showing most of the EU having a very high cost of living. Makes me wonder if that takes into account free-or-cheaper-than-US health care, child care, transportation (owning a car is $$$), education (most US tech workers are paying a high student debt "tax"), and other lifestyle/political differences between the two regions.
I think there's a large variance in the US as well between different geographical areas. I would expect you can find x2 differences even within one geography.
There are a lot of factors in play:
- In SV there's a lot of "easy" money and a shortage of people.
- There's a lot of friction preventing this from equalizing. Immigration policies being one example.
- There have been significant currency movements over the last couple of years and those take some time to reflect back to things like prices and salaries. The strength of the US dollar means that at least temporarily you make that much more if you work in the US.
- Cost of living. If you have to pay more to own a house, pay for your kids education, commute, health, etc. then you can expect upwards pressure on salaries to make up for that.
- Risk premiums.
I think it's important to realize that these things can take a while to play out. When I look at today's salaries compared to 10 or 20 years ago I don't actually think they're very high but that's against a backdrop of erosion in other middle class salaries. Time will tell.
What I very often see in Europe isn't a marketplace of employers saying "We will pay X" and then finding a developer who will work for that. Rather, it often is a company desperate to hire a talented engineer, but when quoted a totally-not-outrageous-by-US-standards salary, respond with "Oh, we'd never pay that".
I suppose in some cases the employer literally couldn't pay that, but to me it seems more like there's some kind of cultural block, like "engineers make this amount and that's all there is to it".
Managers/executives don't seem to have any such restriction, again based on what I've been privy to, so I don't think that it's (completely) a case of just "salaries are lower here"
1. We are taxed on income heavily in the US.
2. Insurance is expensive here.
3. In the hubs, rent is very expensive.
Take-home pay after considering these three things is a lot less than you might think. And also:
4. Generalizing the salary of positions across the whole US is misleading. An average engineering job in the midwest or outside of a hub can pay half the salary of SF or NYC.
5. It really depends (1) where the company you're considering is based and (2) if it's a remote gig, whether they adjust your comp based on your location. One example of this is Buffer's extremely transparent salary calculator .
The holy grail is to geoarbitrage by getting paid by a company in a location that pays highly while living remotely somewhere the cost of living is much lower.
using estimates via Google:
"average programmer salary usa" -> $84,360
"average programmer salary in sweden" -> $54,264
According to http://www.economist.com/blogs/graphicdetail/2012/10/focus-4, average effective taxes in the USA (including social security) are 25%... but 35% in Sweden. Even if those particular numbers are off, the point is that higher taxes may further expand the gap with lower pre-tax foreign salaries.
So the Swede keeps $35k and gets state-sponsored healthcare. The American keeps $63k and probably has decent health coverage from his employer. I'm not sure about this but I suspect that the American can use a fraction of that $28,000 difference to upgrade the health insurance to Swedish levels or better.
(There are also smaller but still significant expenses like housing, affected by property taxes, and consumption taxes like New York City's 8.875% relatively-high-for-the-USA sales tax vs Sweden's 25% VAT.)
For specific predictions from this model:
1. Public-sector programmers in general should get paid less than private-sector programmers, due to employees valuing the job security
2. The public/private gap should be larger in the US than in Europe, since there's a smaller job security gap
3. Public-sector programmers in the US should have higher wages than public-sector programmers in Europe, due to having to compete with more vigorous private-sector activity in the US
Hollywood is the biggest city in the world for acting, followed by New York, and maybe Vancouver is in third place. I'm pretty sure people working as actors in any of those three cities are going to be paid more than actors working elsewhere, because there's greater demand in Hollywood/NYC/Vancouver than there is Omaha, Nebraska.
The biggest cities for software are San Francisco, Boston, Seattle, New York, and Austin. Probably not in that order anymore, but that's where most of the action is. If you're not working in one of those places, you're probably not making as much because there's less demand in your area for software people. All of these cities are in the US and none of them are in Europe.
The US has a higher cost of living than most other countries. Those who are comparable pay somewhat more competitively with US jobs. This becomes really clear with remote work. Outside of the major tech hubs, the pay for IT drops off to comparable levels with European companies.
We have a culture that doesn't require a business degree to open a business that investors would take seriously. As a result, companies pay highly skilled IT employees more to keep them happy enough to not start up their own business.
There is more direct competition between deep pocketed firms for talent. High demand always skews the price, and it is faaaar easier for the US firms to hire US based workers.
Traditionally, the US had been the only place to get any form of quality IT. The training programs and college degrees are more established.
We also see that many of our outsourced maintenance IT jobs may be done cheaper, but they are often worth far less than what they charge. That negative impression reinforces the stereotype of US based IT professionals are more competent.
If you're a foreigner, working for a company in your country of origin, compared to an American company, offers the following benefits:
1) The right to work in the first place - getting an American visa is rather hard2) Not needing to pick up your life, your family's life, and move far away from extended family and friends3) Work in the same time zone - have a job during normal work hours, without an expectation to show up to meetings late at night4) A work environment where most communication happens in your native language
Most development salaries are pretty high compared to the median salaries in the surrounding region, they're just low compared to American developer salaries, but few people abroad make American salaries, so people tend to be happy with their "I'm upper-middle-class compared to the people around me" salaries. And since American jobs aren't really under consideration, for the reasons listed above, foreign employers don't feel the need to boost salaries even further, to a level comparable with the US, since the labor pool doesn't apply for jobs with those salaries.
However the really STRANGE thing is that only a few USA companies exploit that by hiring EU devs for remote working. (ie: paying only 30% of a USA salary for an almost as good developer)
In India, most jobs are tied up to a contract. If you have a 2 yr contract with an employer, and you want to leave after 18 months, you have to pay the 6 months salary to the employer. If you dont, you wont get the next job, because the next employer expects a "relieving letter" from the previous one, which is given on completion of the contract or on paying the fine. Sounds atrocious right? Such practices, bring down the salaries or at least keep them from going up, unlike in US.
I dont know how often such contracts are enforced in India, especially when companies were going on a poaching spree.
A lot of US jobs, you're lucky to see even 2 weeks of PTO, and even then, if contracting, you don't see that. I wound up taking about a month and a half off due to a bad relocation/project cut experience last year, and that has a huge impact on your hourly/annual salary. The culture is just different and the tax models very different.
In the US variety in income taxes at the state level, or cost of housing can vary a lot and you'll see similar variance in IT/Developer pay as well.
I guess US companies pay well because their share of the global GDP is higher (although it is decreasing slowly from he peak in the 50s).
Before seeing that I just thought it was that way because the US makes stuff (now intellectual property not physical goods), thus making profit of whatever is produce outside its borders.
The US companies paying double what everyone else does could be caused by them having the capital and ROI to do so. But, I don't think so. Within the US, why do so many tech companies open shop in SV. They value the culture and team and integral parts that lead to success. They want top talent. Even when they hire out of the US, they don't want to subject the project to the risk of failure by being cheap and hiring cut rate developers.
There's also a culture of paying sticker price. And perhaps, price ignorance. We know what things cost locally, but we aren't the best judges of knowing what a top developer should cost if they're based in another country. Maybe we pay them 75% of local rates and that's still 2X what they would get paid from a non-US company, we don't really know.
If you want to get a better idea of specific compensation at tech companies, check out https://www.transparentcareer.com
We collect data in native currencies as well. Full disclosure, i'm the founder, but if you have any specific questions about data in other currencies i'd be happy to pull information for anyone who asks.
If you choose to work remotely, the story is different. You may want to negotiate to suit your local expenses and then it is up to the hiring company to decide if it can match your local expenses.
I believe you're referring to the ration salary/cost_of_living rather than comparing difference currencies, countries, politics, taxes, etc. In this case, I'd say that the ration is fairly even, minus stocks/bonuses. The base salary puts you in a similar spot in terms of buying power in your respective country if you're a software engineer. That's the beauty of this job... you can work anywhere in the world and maintain roughly the "same" buying power.
Despite forecasts I think in 5 years the USD is likely to fall back again.
(monthly salary + equity) - (studio apartment rent + tax + health care + 30 cappuccinos + 8 steaks + 50 lbs of tomatoes)
edit: times 12
The US has more companies that can see how to make more money off tech talent.
As for the pay, a lot of it goes indirectly to Quality of Life. You might not be paid as much, but benefits are generated in other ways.
Here in the US, if you have money, you can have a great QoL. Conversely, if you don't, well, you won't. Personally, I think I might like living in the EU (maybe The Netherlands), once I got over the culture shock.
One commenter brought up the killings in the US. It's not like there's killing all around you every day - it's spread out over a very large geographical area. The USA Death Panels work to ensure that the killings are distributed according to an arcane metric that no one understands.
I interviewed with a company recently where, after sending links to extensive amounts of open-source code, was asked to three different take-home-style tests of things like calculate the fewest number of steps to sort these things but you have to follow these arbitrary rules, then during the interview they also wanted to do some tests about implementing low level lanugauge/library type features while they're on the other end of a hangout going "ahh", "ooop", "ehhhh", "sssssshhh" every time you make a typo.
- Thought process/multiple solutions/tradeoffs (at the expense of writing awesome code in time and talking about what I am really good at)
- Great code and correct syntax (at the expense of tradeoff discussions and talking about what I'm really good at)
- Talking about what I am really good at (at the expense of tradeoff discussions and beautiful code)
It's really hard to gauge what the interviewer expects. Sometimes, even when they say what they are looking for, it's not really true and they are deluding themselves. Eg: Claiming that they want to see how I think, but reality is, without an optimal solution with good code, they'll just reject me (despite having given multiple answers, tradeoffs etc.)
Or the place that refused to give me a written offer until I agreed verbally.
Job hunting and car shopping are very similar. It's all about smiling during the sale, then if you don't buy rudeness takes over. They're already onto the next customer. It's business my friend... just get over it and move on, there are a lot of opportunities out there and the hiring process is extremely subjective. I got rejected at round one from tiny startups while working my but off and landing jobs at the best companies in our field. So, don't get married to a company. They're hurting themselves by acting like that...
worse is when you are not even told you were rejected. i consider it a most profound disrespect, specially after all the time and effort you've put
I'm thinking of writing a website that requires the employer to give feedback. Else the site will list the bad employers.
Or it requires the employer to pay upfront per candidate who applies, and they employer gets a full refund if they give full feedback.
If I were HR I'd be running away from this, because of liability, which is probably why employers don't give feedback at interviews. So the site will require candidates to sign away their rights of of suing the employer over the interview process.
What'd y'all think?
- First get a federal EIN number online (free, self-service) for the LLC.- When filing out the Nolo form, use your virtual mailing address as this will be public record. I signed up for Virtual Post Mail at $10/month.- When filing out the Nolo form, answer "I already have a registered agent". If you use Virtual Post mail, your subscription includes free registered agent service. If you answer no and agree to use their service partner Incorporate.com, it'll cost you $235/year.
+1 Create a business checking account so your personal vs. business financial records are kept separate.
The tricky things to remember are to get an EIN from the IRS (it's free)  and to create a bank / credit union account for the business (free at my credit union).
I used Launch by Legalshield. It's like the LegalZoom option, but they do provide legal counsel. After you signup, the member lawyer of your region calls you to finalize the documents and ensure everything's sorted. I paid around $460 overall for the formation, agent, and all the documents neatly organized in a binder with a really nice rubber logo stamper. Every step has some information to the right to help explain the process, and if you get it wrong, your member lawyer should catch it pretty easily.
Again, I work for them, but it's both not my project in the company, I don't receive anything special for saying good things about it, and I really did like the flow. So I might be biased, but I do highly recommend it.
Other than that you usually need a local address (which can be yours if you incorporate in the state you live). A bank account is useful to show a separation between business assets and personal assets should you ever need the 'limited-liability' part in court.
The major thing is that you pick a structure that does what you want (LLC versus C or S Corp, etc), and that you understand the tax implications. The IRS and other folks have circulars on that as well as employer tax guides, etc.
The SoS of the state you want to file in will probably have more information on the requirements.
It's worth asking your accountant/counsel if you should consider setting up a LLC that files taxes as a corporation. You probably only want to do this if you are able to pay yourself a consistent, set payroll (I'm not a lawyer or accountant, but I can speak from experience that this is one of the cases where filing in this manner is not helpful, and will actually be detrimental).
While it's easy to create an LLC, it's very easy to create one that can be broken through if someone wants to come after you. Pony up the $200 or so to talk to a proper lawyer with experience setting up corporate entities, even if you only have them tell you what to do on your own.
Incorporating a limited-liability business in Germany is hell.
The problem with using generic services is that they may work fine in the beginning but you may end up contacting an accountant anyway for best advice on tax and planning. Yes, even for side projects that bring in some money.
I formed an LLC a couple times, and both times I probably shouldn't have bothered until the business could pay for the fees, and an official entity offered me something a sole proprietorship couldn't.
Lawyers for this kind of thing cater to people that would also find it hard to use the internet.
Beyond that; look for specific information in your state. My state, Connecticut, has a government web site that gives you step by step instructions on setting up a company in the state; including what paperwork to file and how to get taxID Numbers...
I am in California so this information will only apply to people there. Obligatory, I am not a lawyer.
- pick a name that is available: https://businesssearch.sos.ca.gov/
- Register the domain name you are going to use
- Get a mailbox (like one at the UPS store, NOT a PO Box!) to use as your business address so you will not have to use your home address if it bothers you.
Now, for the real stuff -
1) Get a registered agent (even if you want to do it yourself, I recommend getting one anyway). I used freeregisteredagent.com for 1 year free. Required before you file the next step.
2) File an LLC-1 (http://bpd.cdn.sos.ca.gov/llc/forms/llc-1.pdf) articles of organization. It requires a $70 filing fee, send off the form and $70 money order.
3) Grab an EIN from the IRS: https://www.irs.gov/businesses/small-businesses-self-employe...
4) Wait for the Secretary of State of send a copy of the file articles of organization (form LLC-1). Now, file a Statement of Information, form LLC-12: http://bpd.cdn.sos.ca.gov/llc/forms/llc-12.pdf This is due within 90 days of the file date (on the filed LLC-1 form) All the information here will become public information. Send that in to the SoS with a $20 money-order and wait.
5) Use your filed articles of organization, the EIN you got in step 3, and a state issued personal ID to get a bank account. US Bank and CapitalOne Spark have free checking accounts for business, you can also try a credit union as local ones have them for free.
6) Look for any local licenses you need, some cities require business licenses, some require a "Business Operation Tax" (BOT) certificate - check your city or county website(s). CalGold is useful: http://www.calgold.ca.gov/
7) Conduct business, keep records, etc
- An $800 minimum tax is due every year to the state of California.
- You must file a new LLC-12 (if the information has changed) or an LLC-12NC (if nothing about your LLC has changed) biannually (every two years).
See all forms here: http://www.sos.ca.gov/business-programs/business-entities/fo...
Also including related opportunities such as technical writing.
- Foundation: as opposed to tutorial approach and just dropping knowledge bomb.
- Modular: as opposed to linear, monolithic book that requires you to read through 500 pages.
a step by step book on how to implement deep learning framework, such as caffe.
This answer is cheating a little bit because the book has existed for about a year now, but this is exactly what I wanted when I got into startups.
I wish I could hand a copy of this to everyone who asks about becoming a startup dev.
Looking back, if I'd had unfettered access to information along with an intelligent guide to same, I could have educated myself a lot more quickly and thoroughly, and avoided the enormous counter-productivity and strife generated by biased and self-serving external world views and... frankly, sometimes forceful indoctrination.
Going forward, that's what I'd wish for my kids. Learn how to be around and get along with other people. But don't waste your time and peace of mind on the bullshit. And learn to protect your health, and guard it well.
I feel like society lacks direction and focus. We need a common goal, something greater than ourselves. Religions provided these things, but most of them are extremely outdated. I don't expect most people to believe in angels, fairies and miracles.
- We need to find the meaning of life.
- We need people to have a purpose. We need to focus on making the universe better.
- We need a book that clearly describes the goal, and provides steps for humans to progress toward it.
Long Slow SaaS Ramp of Death (Gail Goodman): http://businessofsoftware.org/2013/02/gail-goodman-constant-...
Wide-ranging; covers why SaaS companies are brutally difficult to build and how ConstantContact very gradually achieved escape velocity while on the titular long slow SaaS ramp of death and eventually got to the fabled hockeystick growth land.
Designing the Ideal Bootstrapped [Software] Business (Jason Cohen): https://vimeo.com/74338272 Jason presents a framework for how to find a product which will get you to $10k in monthly recurring revenue.
(If you liked these two talks and just want More Like That Please go to the Microconf video page and queue up every talk by Rob Walling, preferably in order.)
And, on an entirely different subject, Developers, Entrepreneurs, and Depression (Greg Baugues): http://businessofsoftware.org/2013/11/developers-entrepreneu...
And, as mentioned by keyanp, Randy Pausch's "Last Lecture". Vita brevis. Carpe diem.
And one of the most useful talks of all time for building organizations is by Ed Catmull (of Pixar)
David Pearce on abolishing suffering 
Jurgen Schmidhuber "Universal AI and a formal theory of fun" 
Slavoj iek on "signs from the future" - also ties into  a bit because at one point he mentions how excess capital was found to actually reduce the efficiency of certain creative tasks 
A talk by Gary Bernhardt.
Probably the best, most eye opening talk on any topic, but especially on the roots of institutionalised racism, and perhaps the cause of a lot of issues today.
It is by "Akala", an English rapper, poet, and journalist at the Oxford Union and is is a shining example that you can gain a great amount of knowledge, if you are only willing to.
If you liked the Netflix documentary "13th" you will like this.
(All the recordings from "Intro to The Art of Doing Science and Engineering: Learning to Learn" are amazing)
"Normal Considered Harmful" by Alan Kay: https://www.youtube.com/watch?v=FvmTSpJU-Xc
- Building the minimum Badass User (make your users awesome) by Kathy Sierra: https://vimeo.com/54469442
- Start with the Why? by Simon Sinek (then How? and finally What?): https://www.youtube.com/watch?v=IPYeCltXpxw
- Good design doesn't sell itself by Mike Monteiro: https://vimeo.com/121082134
and the paper that's the basis for it is also nice to have handy http://web.mit.edu/2.75/resources/random/How%20Complex%20Sys...
This really changes the way you look into your OOP code. Please watch even if you're not a Ruby programmer.
It's worth listening to if you're in a high pressure environment, or struggle with stress.
Not an earth shattering talk or anything (and the title isn't super accurate) but the idea and message that is being presented is something I think people in our world need to be reminded of.
Jim reveals his depth in this talk. Here's one of the gems you'll hear:
"You can fail at what you don't want, so you might as well take a chance on doing what you love"
I highly recommend Nothing is Something but all are great.
Fantastic talk on both the biological-neurological and the psychological side.
Wildly changed my worldview with regard to charities.
You know you want to know how it works ;)
Talk by Dave Thomas which gives a interesting look at software engineering expertise.
But for real though, don't work for free, and don't work without a contract in place unless you're doing charity work. You've been working for them forever without them paying you. What incentive do they have to pay you now?
However, if they never paid you, it means that any code you've done remains your exclusive property (i.e. the company has no right to use it without your approval, since there was no consideration under which a claim of work for hire would succeed). That's your one bit of leverage here. Make the company buy out your code. Then find a paying job that actually respects you.
Offer to sign one in exchange for having the stock issue resolved.
Just tell them sorry you can't provide free advice/support any longer. Then stop, cold turkey. Don't let them come back and say: "just stick with us...." or "well can you tell us how this works" or "before you go we need..."
I would write an e-mail to say that you are wrapping things up and at the end of this week will be done.
If they act surprised or demand you to work for the next two weeks tell them sure but you'll be billing them at a daily rate (regardless of if work takes place if you're a CTO, you're on call) and send over a standard contract.
They will never discuss your worth unless they are put in a difficult position where they have to. Do not do any more work until you have a signed contract. If they never sign it then you're done.
Don't stay on as an advisor unless it's something you really love, it will just make you mad to have put in so much effort and never have been compensated in return.
- 0.25% if your role was closer to a part-time adviser, following-up monthly for a few hours to advise on technical choices
- to 20% if you worked close to full time for about a year as CTO
Of course, since you forgot to negotiate anything ahead of time, you are mostly out of luck, practically speaking. There are some legal avenues you could explore, depending on whether you contributed any IP, what paperwork you signed, etc.
It's time you stand up for yourself. By the way, for companies that are mismanaged (and this is clearly one of them), the likelihood of success is even lower than for your average startup, so any stock you may fight for will probably be worthless.
In conclusion, I would at a minimum demand the standard 0.25-0.75% deal that any formal advisor can get. And that's an absolute minimum. In exchange for no more work from you at all.
source: founder equity calculator (http://foundrs.com)
I worked for free too for a startup, for about 6 months.
They had trouble getting the right investor. Story was, they had one but then a company said they would buy them right away, so they didn't take the investors money. Instead they talked to new investors and told them about the new buying offer they received to get better conditions from the investors.
Long story short, I got my money in the end, they even paid me all sick days (I'm a contractor and in the hospital while working there) so it wasn't that bad for me.
They hired me to work remote for them, I stayed because I wanted to add more remote working experience to my resume.
Also, my thought if they really paid me in the end, they would see me as a valuable and flexible partner, who they will hire again.
Anyway, now I got almost two years of remote work experience and quite good money out of it.
But this story could also went otherwise and I would be forced to take the next best job I find, if I ran out of money before they could pay me...
You were taken advantage of. And forget about it, they will pay you nothing.
Move on and accept it as a life-lesson.
While you're a fool for having worked without a contract (even just two co-founders workers alone will sketch out an agreement on a napkin), so is anyone who has invested into this "business" where the IP itself might be owned by god knows who.
This is a low aggression way to get what you want. Yet somewhat official and displays you are serious about getting compensated for the past work. Done right, there should be no bad blood from this. If they ignore it, and you go the legal route; the relationships/friendships will have to be sacrificed.
Go listen to the first 1/3rd of Roger Dawson's classic series: http://www.audible.com/pd/Business/The-Secrets-of-Power-Nego...
From his material:
There are three simple rules to follow when striving for Win-Win negotiations:
Do you narrow negotiations down to one issue? When you do, there can only be a winnerand a loser. Broaden the scope of negotiations. Take into account all the elements and piecetogether those elements like a jigsaw puzzle until both sides are satisfied and can win.
Never assume you know what the other party wants. Get to know the person, rather thanthe business or the prospective deal.
Understand that people are different and have different perspectives on the negotiations.Never assume that money is the bottom line.
This is a massive paraphrase from a lecture (I think by the pair of lawyers) and I might not be remembering it completely correctly...
But all work is assumed to be done for remuneration of some kind. So if you don't get paid, they are exposed to lawsuits at some point in the future. You (I assume) could come back one day and say something like "they have no records of paying me, but a promise was made for X% of the company" and I imagine have a case in court. (again, 100% based on vague memories from the source which I think was Startup School.
Long answer: You're probably not going to get a dime. Learn from this experience and don't get suckered into this type of situation in the future.
The entire purpose of working is to exchange your contribution for something of value. Whether that value is an intellectual reward, money, equity, etc. is up to you. It seems that in the beginning you valued the intellectual reward the project gave you, but that is now dwindling.
I would have a frank conversation about your compensation and IP, and be prepared to move on. Don't let your emotions get the best of you, this is business.
Perfect. You now have no reason to do an extra minute of output. Let the founders and other C level exec's beg the investors for your help.
A little test: tell them you will work for a reasonable market rate for consultants and see what happens.
Unless there's more to this. How did this situation even arise in the first place? How do you earn a living?
Don't work for free. Not for a day. Not for an hour. Stop working and move on.
- If you're helping run an early-stage company but you're not drawing a paycheck, you're a co-founder. This means you should have a significant amount of ownership, and you should be publicly acknowledged as a co-founder everywhere it's relevant.
- Let's say you're an employee and not a co-founder. If the official founders are being paid and an employee isn't, the company is operating backwards. Employees should get paid first, then founders.
- If the company is funded, then nobody should be working for free.
- It's one thing to help out a friend running a company for free. I don't agree with it, but I can understand it. But when you have an actual title, especially one as important as "CTO", that crosses a line from "helping a friend out" to "employee or co-founder of the company".
My advice, walk away now and ignore all calls/texts/emails unless they are contacting you to offer you equity/money!
Long answer: sorry, you should pay for a more articulated advice. (Yes, this is the first lesson).
Most here will say "learn a life lesson and move on". The point of getting legal is investors will be very interested in why the founders have taken advantage of you like this. Naturally the founders will want to avoid risking the investor's cash/rep and getting them involved etc so will likely offer to settle.
Furhermore, if you have any documented promises to pay, including shares, then you are owed a debt.
Try to engage a collection agency. They will cost you nothing and will be the bad cop for a while even as you get to be the good cop, or at least the cop who doesn't call them.
I'd take the other side of that bet. AppAmaGooFaceSoft have not found a number of developers X such that having X,000 of them around is enough to ship as many products as they hope to ship. I ballpark their combined engineering teams at +/- 100,000 people; there is no obvious reason why it is not 200,000. (I'd note that if you're not forecasting growth in developer headcount across the industry you should probably be forecasting contraction rather than statis, and if contraction happens one would generally assume it hits the most recent employees first, so your course of action is invariant regardless of whether you're directionally right on the industry's growth story.)
I'd encourage you to not pigeonhole yourself as a "web" or "front-end" developer. You solve business problems; a computer is often involved. If you need a new tool in the toolbox most of the relevant ones take single-digit weeks or less to be commercially proficient in, particularly at the early stages of your career, when coming from any meaningful degree of engineering expertise.
So famous it became a bit of a cliche. I read it years ago and it didn't make any sense to me. But now that I've been studying Buddhism and practicing meditation for a while I picked it up again and I found it nothing short of brilliant, packed with interesting insights on philosophy, the arts, theology, the history of mysticism and the quest for the meaning of life. I know it sounds trite, but I simply wasn't ready for it the first time.
* The Unbearable Lightness of Being, by Milan Kundera. 
I read this 10 years ago. It touched my heart back then and it did it again this time. It's one of the few works of fiction that changed, a little or a lot, the way I think about love, relationships, loneliness and happiness.
I can't wait to re-read it a third time, in 10 years.
A child free from the guilt of ownership and the burden of economic competition will grow up with the will to do what needs doing and the capacity for joy in doing it. It is useless work that darkens the heart. The delight of the nursing mother, of the scholar, of the successful hunter, of the good cook, of the skilful maker, of anyone doing needed work and doing it well, - this durable joy is perhaps the deepest source of human affection and of sociality as a whole.
It's the 13th book of Terry Pratchett's superb Discworld series, but it's the perfect entry point for anyone who hasn't read any of them because it doesn't require any exterior context, and it's pure Pratchett in his prime.
I honestly can't recommend it, and the rest of the series, highly enough. If you haven't experienced Pratchett's work then I implore you, beg you, to get a copy of this book today.
and the second in the serieshttp://www.goodreads.com/book/show/8488830-freedom
Eye opening reading for everyone who works in IT, science or any industry that requires long chunks of deep attention.
I've been revisiting a lot of Le Guin's novellas ('The Found and the Lost' is a great collection) and Borges's stories since the election. They have been a source of great comfort.
I find that I don't reread nonfiction. I'll reference something I remember in it, but I can't think of a work of nonfiction I've reread in the past few years.
3rd time; learned something knew every time.
Recursion by Tony Ballantyne is a book that I didn't actually like all that much, but reread anyways. It covers a lot of topics I love (global AIs, Von Neumann Machines, tulpas, trusting trust, and a totalitarian utopia). The plot leaves a lot to be desired, but the concepts are worth it.
 Among programming books: How to Design Programs...I've got a print copy. There's a lot of sophistication and relevant experience behind its programming fundamentals content (e.g. tests and documentation before (2002) tests and documentation became the new black).
One of the few books, that when I'm finished, I just want to turn it over a start again.
Covers a wide range of important and relevant topics in technology, biology/genetics, ethics. My only problem is it is too short! Could easily have been a triology like the Baroque Cycle (another favorite) https://en.wikipedia.org/wiki/The_Baroque_Cycle
Even more than Star Trek, this novel caused me to think about a post-scarcity world. If we could have anything and everything, what should we do with it?
Also re-listened to Getting Things Done by David Allen. This could also be any number of times.
Sort-of related, currently re-watching Westworld. I burned through ten episodes in two sittings first time around and wanted to properly appreciate it this time at a more leisurely pace.
There are 7 books in the series now, and hopefully I'll finish the re-read not too long before the next one comes out!
It's a little dated, but a lot of what he says is timeless.
About a year ago I reread Faulkner's _As I Lay Dying_ which is one of my favorite books. I can't explain why, but I think about it often.
But I'm not fully re-reading it, because the first time I only got to one third of it.
So, until I get to that first third, I'm re-reading, and after that, it is all new.
I read the piece in the New Yorker about rich tech guys and their bug out plans for the apocalypse (including Reddit's Alex Ohanian).
I love Strauss' journey from survivalist to community volunteer. It changed the way I think about preparedness.
Heller's book is one of only a few that I find myself thinking about all the time. I'm a sucker for any book with a dog in it though, so that might color my opinion.
* Contact by Carl Sagan
I had previously seen the movie. The book (or rather the movie) takes a bit of a departure. The backgrounds on all the different characters as well as the political parts weren't that interesting to me. But overall the book was great.
* We Are Legion (We Are Bob) (Bobiverse) by Dennis Taylor
I'd suggest listening to it on Audiobook. Excellent read. Makes me want to buy the book and read through it again. I can't wait until the next one comes out in (March?)
I love it. It's about doing the impossible, one step at a time
I understood a lot more of the jokes this time through, I think I was in Elementary school the last time I read it :)
Just because I needed a bit of fun fiction to break up all the non-fiction. And because it (perhaps accidentally) says something interesting about the gods of a land of immigrants and future-philes.
Mostly re-read the parts of the book that talk about the 80s (the creation of the PC, DOS, Windows, the PC clones, Microsoft and Intel outsmarting IBM, Microsoft bullying the rest of the industry, etc.).
A Guide to the Good Life: The Ancient Art of Stoic Joy
I got initially into computers because I would press something on the keyboard and knew there was a sequence of commands that directed the graphics card to output something I needed to understand that. Now, as I assume applies to so many people here, my curiosity has expanded to human development, this books is _the bridge_ between CS and psychology.
In fact I'm doing a lot of re-reading. The world is full of so much uncertainty, these days, that I can't even cope with not knowing how a book ends.
Though the recent second time was as an audio book on a long car trip.
Reading this book is a nice way to step into another universe for a while.
I consider this timeless humour, because it gets me to laugh out loud in public. People get startled by this. Also, I read episodes from the book to my 7 year old, who loves it. Occasionally, I need to explain a very dry joke, but some I leave for him to discover later.
Goldmine of information about practical things you have to deal with when starting HW startup.
All the content of the book + extra chapters are available in forum format and you can read it here: http://www.head-fi.org/t/701900/schiit-happened-the-story-of...
I'm going to start re-reading the Steven Brust Vlad-series, in the near future. Mostly to anticipate his forthcoming novel.
* Stephen King 11/22/63
* Michael R Underwood Geekomancy series
11/22/63 in particular is hard to put down, King doesn't need the supernatural to create a thrilling story.
I'm kind of in a perpetual re-read of Pierce's Types and Programming Languages.
No affiliate link: https://www.amazon.com/Clash-Eagles-Trilogy-Book/dp/11018853...
Edit: corrected author's name
This time through it's been shocking to me to see such parallels between the politics, policies, and consequences there of and the world today.
There's a lot to think about in Dune.
The Code Book
He has an amazing ability to go really deep into what he's explaining. No hand waving over the details. And yet, it's so very readable.
Unfortunately that wasn't true with his other book - Fermat's Theorem - probably because the subject matter was too complex?
Fascinatingly relevant right now.
Others Ive re-read recently are:
* Camouflage 
* The Green And the Gray 
* The First Fifteen Lives of Harry August 
* The Martian 
* I Am Not A Serial Killer series 
I plan to re-read in the near future:
* Touch 
* The Hollow City 
* Pulling Up Stakes 
Yes, I read a lot. 
 Only the first book in the series. Really disliked all the rest. Last couple of times Ive listened to the Audible audiobook version which is excellent.
Here is a short post I wrote a few days back:
Hamilton is an absolutely fantastic musical. An amazing history : probably the most interesting story of a founding-father. It has got everything : rags-to-riches, heroism, fighting, betrayal, sex scandal, .. you name it. The musical is based off of Ron Chernow's door-stop sized biography. Lin Manuel Miranda adapted it to a Broadway play. And if you are like most, you will end up becoming a huge fan of Miranda. The musical won a Pulitzer as well as a lot of Tony's including the best musical. What a beautiful way to tell the story of a founding father with Rap, Hip-Hop, R&B and a bunch of other genres. Mind blown!
If you can get a ticket to the musical, consider yourself lucky and go watch it. I haven't. So ended up doing all the other reading / listening before the musical finale. :)
I got so interested in this that I have now listened to the musical (many times), read all the coverage of it in NY Times (published as a book) and also the book that Miranda himself wrote about the genesis of the show and watched a dozen videos of Lin on youtube.
Here's Lin's first presentation of this idea in a poetry recital at the White House:https://www.youtube.com/watch?v=WNFf7nMIGnE
The entire musical is available on many streaming services and on youtube too.
The book by Lin Manuel Miranda : Hamilton : https://www.amazon.com/Hamilton-Revolution-Lin-Manuel-Mirand...
This is the book that covers all articles on NY Times: https://www.amazon.com/gp/product/B01FWP73AM/
A few cool Lin videos:
Freestyle rapping in the Tonight Show with Jimmy Fallon:https://www.youtube.com/watch?v=w31jboLYcH4
Freestyle with Ellen:https://www.youtube.com/watch?v=uqhKeIr6Zbc&t=201s
Ron Chernow's book: https://www.amazon.com/Alexander-Hamilton-Ron-Chernow-ebook/...
[yet to read this massive tome -> saving it up as the finale].
Considering it was written in 1999 still feels very contemporary.
You will then be very well positioned for college internships, where you can make $$$ and work in a higher pressure environment on cutting edge things. Your rsum will show job experience and you'll likely have more poise than your peers. Be sure you don't stress out too much about a high school job. Life is long.
Also, just being realistic, it's WAY easier to get your foot in the door doing frontend stuff. Doesn't mean you have to drop everything and become a UI person, but if you have some kind of an API sitting on aws, having a UI to drive it vs. driving it purely with curl/postman/etc shouldn't take much effort but will be a good bang for the buck no doubt.
If I were you I would start to consult on the side while in school. In fact, this is exactly what I did do in high school and college. Make a small but well designed site which shows your projects in a portfolio style. Offer your services to local businesses while trying to focus on solutions you can offer them to help them with their specific problems. For example, as a freshman in high school I helped a specialty billing company to automate some of their reporting which used to be a manual process. I figured out they needed this by calling them up, introducing myself as a high school student who was trying to find companies who needed my services as a software developer, and asking what problems they had. It turns out, it's really that easy sometimes.
If you'd like to get a more salary based job on a team at a company, you might be in a good spot for this too. Create a resume. Focus on what you have worked on and what accomplishments you have achieved. Send this out to prospective employers. It would be good to still create the small but well designed portfolio site to show off your open source projects and mention this in your resume. Send this resume out to 5 companies a day, every day, and you will quickly find you start to get quite a lot of response.
We all started somewhere. A lot of us started out with a lot less experience than you have described here. You'll do well!
Different projects have different norms around job seeking, so this might take the form of reaching out 1:1 to other contributors or users you have interacted with, or it might take the form of "Hey, I'm looking for a new job..." to the mailing list for the project. Do understand the norms for the projects though, as sending a blanket "I'm looking for a new gig" to some places will lead to being ostracized, whereas for others it will lead to flurry of folks reaching out. If in doubt, reach out directly.
Secondary to the above it gives you some basic business and marketing/sales skills which always come in handy.
The pay is peanuts, usually, but that's entirely beside the point. Just make sure you always work for good people and are allowed to do good work (which is sometimes tricky, because lots of times people either never provide you with the right information so you can do good work... or they just don't care about, or can't tell the difference between good and bad work).
With a preference for work you can include in your portfolio. From there it's lather, rinse, repeat (and watch your earnings and self-confidence rise).
First, rewriting ugly perl script to ugly python script for businness of father of one of my friends from high-school. I knew my friend was writing enterprise java in their family bussiness since he was ~14, and he knew I am a decent programmer because we worked on a class project.
Second job was creating a webpage for my aunts language-course. (Based on this, I realized, that working for family is more trouble than worth)
For my third job, I was a intern/junior windows sysadmin for ~two weeks. My father overheard their IT guy that they would have large workload due to some QE testing and that they wouldn't be able to do the usual windows/workstation maintenance work. So they hired me to help out on his recommendation.
Another job was rewriting some legacy app from outdated Borland Delphi to QT/C++. This was through a differend friend of mine heard of his fathers friend problem, and managed link us through. The resulting app was not very good, and I don't think they actually used it. But they did pay me for the effort :-)
Last, a friend I knew in my local church had a spare server-grade tower lying around under his desk for some reason. So we decided to connect it to the net through a guy working at local ISP. We started hosting the church pages and some local missionary organization an I was sysadmin there.
In the end, everything I did was through friend of a friend, and usually the work I did wasn't really good. But if you look at the bullet list of the stuff and squint a little, you can make a decent looking CV out of that.
Windows sysadmin here, Linux admin there, desktop C++ app somewhere else ... I remember when I applied for my first internship at a corporation, the hiring manager was actually impressed by my "prior formal work experience" ... I just smiled and waved 
First of all, I don't think it's a bad idea to just email someone who you think might have a job that you like. Luckily, for most Software engineering roles, a good portfolio is far more important than an obscure number for the years you have worked. If you think that you are good enough to pick up a small internship, it might be a good idea to send an email to a recruiter describing your situation and your portfolio.
Another thing to consider is that startups are generally more keen on hiring young and unexperienced people than big companies. It's usually because they are low on fund, but it can be a great learning opportunity.
Personally, the website angel.co has been very useful for me and the people I know. Might as well give it a shot.
1) While you search, you might start contributing to bigger open source projects that have visibility. It shows you can be part of a team. Then you also have "references" that can vouch for you; your employers can see your work directly.
2) Try thinking of your professional identity; how do you market yourself. This is a combination of your skills and interests in terms of what types of projects you want to work on and want to be called upon. What do you want to be known for?
Truthfully, your biggest asset right now will probably be that you have some skills (don't have to be trained from zero), and are super cheap and willing to do more than you get paid for.
For either of the first 2 options, call around to your local businesses and ask about internships. That would be an easier sell, and get you experience.
For a full-time job, you methods really aren't any different than the rest of us. Meet people, talk to them, apply to their posted job openings. Let people know you are looking so they think of you for opportunities that are not posted.
* Find some developers in your local area who maintain, or can merge into, an open source project. Work on what they are passionate about, and get to know them. Learn what it takes to contribute effectively, and you'll get noticed. Bonus points if that open source project is something someone uses for work, as you're now another local expert in a tool that someone actively pays people to develop.
* Find something in your local area that doesn't work as well as it should and fix it, or at least offer to fix it. There's a crosswalk signal on my block that is malfunctioning. It's supposed to flash a red hand (aka don't walk) with a countdown from 10 to 1 seconds before turning solid red. Instead, it flashes "99". If you saw that malfunction, you could do a bit of research to see who the manufacturer is, call up city hall, and tell them you'd like to work with the technician who is tasked with fixing the light. Ask the technician if his company has any work you could help with.
* Find out who developed the websites for some local business in your area, or visit that local computer shop that offers website development along with their services. Ask if they'd hire you as an intern, showing them the work you've already done. Even if they don't ask them if they'd be open to discussing their process for hosting and deploying websites. Find a way to improve it, open source the solution, and give it to them. Now you've got a customer for your open source work, which is something you can most definitely put on your resume.
At the end of the day, you'll have to decide if you're willing to figure out what it takes to create opportunity for yourself, or if you're willing to settle for opportunities advertised to you.
Good luck, and stay awesome. And props to you for asking this question in the first place.
1.) Keep contributing to open source and working on/releasing/blogging about/otherwise promoting side projects.
2.) Contact founders directly via email and ask about job/contract opportunities.
The bigger your profile/the more samples of your work out there, the easier it will be to get positive responses out cold emails.
That's how I got a job as a very junior developer.
I believe you can achieve similar results by showing the work you've done on OSS projects. Just share your commits with potential employers.
Do this a bunch of times and you should be hired somewhere.
1) Show value you have added to OSS in an easy digestable way for potential employers. A 2-minute checkout on the web, with explanations where needed to have people understand what you did.
2) Show value you can add to their business. Place yourself in the position of the businessowner, and match this with your skills and talents. Eloquently writeup what value you can add to their position in the business.
I've hired several people with no formal experience, but some awesome open source work.
Another scary thing about this is the fact that you have to keep track of the AES key for the backup as well as your private RSA key and its password. That's going to get nasty for more than a couple of files.
If you're going to do backups like this you're better off just sticking with GPG.
For example, I use CryptoPP for AES 256 bit encryption in C++.
Sales. Experienced, demonstrable sales excellence. Ideally selling things of comparable size to similar customers as my venture.
We should get along well, I suppose. But the best social lubricant is success, and I'm confident we'll be successful if my partner can handle customer advocacy and sales.
The greatest cofounder I've ever had was an older misogynistic homophobe (when I was a younger gay woman). We got on great because neither of us stepped on the other's toes and we crushed it.
I've recently come to this realization after years of work.Rate of Learning dominates everything else.Teammate doesn't have good communication skills?Are they willing and working to learn?
Rate of learning is more important than intelligence, skill, mindset, or demeanor because it's the rate at which those change.
Choose someone who learns exponentially over someone who learns linearly.
Avoid people who aren't interested in learning like the plague your life may very well depend on it.
1. The why - if one of you is trying to legitimately change the world and the other knows up front they'd be happy to sell out for $x amount, chances are big problems regarding strategy will arise in the future, even if there never is a buy-out offer
2. Communication - I would rather work with someone whose 80% as good as the best available if their communication skills are better. Once you're out of the initial product development phase almost everything the founders do is communicating, on some level, whether that be managing employees, customers, or investors.
3.(BONUS) Growth mindset / Self-improvement driven - Starting a company means doing A LOT of shit that you don't want to. If you partner with someone that is afraid to be terribly shitty at something and won't even try, you're in for a rough time.
Most of all though, someone I know I can be a friend with. Cos when times get tough that extra bit matters most.
-lack of ego
-hungry to learn
-someone I can completely trust
-someone who can be checked without hard feelings and who can check me
-interest and expertise in the main role(s) they will be covering
-someone I love being around
It boils down to a person who is trustworthy, wanting to be the best at whatever they do, committed to the vision/company to an obsessive degree and will push me to be better
The first one is to use NodeJS as your front end server and Golang for your API.
The second one is to use NodeJS with React as an internal micro service to returns the HTML content back to the Golang front end server.
Now the question is which one is good. As always it depends on what you're looking for. I would say the NodeJS micro service renderer would be my favorite as it keeps all the complex logic in Golang.
1. Website url: https://foundbite.co (Also have Android, iOS and Windows apps)2. What the project or startup is about (one line)- Apps for sharing and exploring the sounds of the world.3. Monthly active users- Varies but around 600-1000 for our iOS and Windows Apps and ~150 downloads per day on Android. Figures have dwindled since I stopped working on the app for obvious reasons.4. Source of revenue streams - We were planning on implementing sponsored foundbites but just didn't have the audience.5. Monthly income (if any ) 0 - current cost to run is ~150 per month.6. Adsense enabled? Nope, but something we were considering.
2. What the project or startup is about (one line): Contacts backup and restore service
3. Monthly active users: Will have to check, a while back were getting one backup request every 2 minutes.
4. Source of revenue streams: In app purchase
5. Monthly income (if any ): ~ $700/month in profits
6. Adsense enabled?: No
It would also help if you gave a ballpark of your budget, otherwise you might be wasting people's time. Is it closer to $10M, $1M, or $100k?
Stock market for memes
Like 12 active users
How does 9001$ sound?
(It's over 9000)
2. World's first search engine for sales tax (Canada only)
3. Difficult to know, since it was soft launched a few days ago
4. Classified ads (against 12,000+ consumer goods and services in the database)
5. Not monetized; classified ads have not been activated yet
When I was young and eager to please I would put up with this sort of thing. In fact, I used to think there must be something wrong with me, that I was a bad programmer for not having every data structure and sorting algorithm perfectly memorized at all times.
Now that I'm starting to get old and realize it's all BS, if you ask me to write quicksort on a whiteboard I'm going to roll my eyes and walk out.
I consider myself a good programmer. I have a PhD and about 10 years professional experience. But right now I can't remember the different sorting algorithms, and in the very unlikely situation that I would need them... well there's Google.
I don't think complex algorithms are that common in interview questions, especially the ones that are well known.
But, I personally like to ask this one, cause it came up in my day to day job, and is quite deep:
So interviewers rather then asking this bogus questions ask architectural questions, framework questions, coding things because this is what makes your product. For Sorting/Searching you will always use a library. Believe me, I hate being asked such questions during interview which can be found in a book. So please interviewers do ask relevant questions, we are there to develop your product not algo otherwise, if we are so talented, that definitely we wont' work for you.. :)
Often I read stories/comments and it feels as if questions of these sort are for the interviewer to prove a weird dominance of some sort and not to actually determine the competency of the interviewee.
This day in age I wish people would just say, "This job is mobile app development and simple REST APIs. If you want to ask about that go ahead, I'm not solving a problem which has a 1,000 solutions on Google."
Or alternatively, "Sure, give me a second. (Pulls out phone.) Here, this is the wikipedia entry on Insertion Sort."
We do ask for an offline coding exercise featuring date math which is actually Mong the hardest problems known to man. :)
If the interviewer asks you an algo you know, and you bash it out super-quick, a prepared interviewer will just find another you _don't_ know the answer to. This thread's question is therefore somewhat missing the point.
Interview tests and questions which it's possible to swot up on aren't valuable. They only test your memory not your problem solving.
There are a few small tricks. Something that you can get in an interview even if you have never seen it before.
Now when I find a a candidate, usually via Github or their dev diary, I can usually tell from the work itself that they have the talent and skill.
Given that we're mostly a large web application with a relational database, I think it's very appropriate for the job, and the question came almost straight out of real world experience.
Canada for example says right on their immigration website that if you are working for a company not based in Canada and are paid from outside of Canada then there is no problem.
Thailand, and most of South East Asia frankly, have laws on the books that say any work, including volunteer work, is work and is forbidden. Thailand has however stated some years ago that 'Digital Nomads' aren't their concern, just illegal workers. There have been arrests in shared work spaces but people were released after. Definitely a grey area.
Singapore's another example but you can count on them to enforce the law to the letter.
That's an uncomfortable truth you don't see people talking about on the remote job boards.
You don't read about many issues because nobody is going to know that a guy on his laptop is working and not uploading holiday snaps to Facebook. I'd personally avoid coding camps, shared workspaces and collaborating in person if I was going to skirt the law and do it anyway.
The gist of it is that it depends a lot on your citizenship, the kind of work you do, and how it is all setup. Normally, taxes are to be paid where the work is done if you are a tax resident in that country. Interpretations vary so most nomads are on tourist visas and just fly under the radar. There is no proper framework for this kind of work yet. Even if you wanted to pay taxes in a country you're visiting it would be impossible in many cases because they wouldn't even issue a tax number without proper residence papers. You should be most concerned about your home country and speak to an accountant about that.
I've seen two setups among people I've met who are doing the digital nomad thing: Either they are tax resident in their home country (wherever they started) and pay their taxes there, or they told their home country they moved out and they pay taxes nowhere. This obviously depends on the laws for tax residency in the country you're coming from (some depend on # of days in the country, ties like owning property/a business, etc). Traveling around inside the EU is also an exception.
Re: the visa thing. For instance if you tell US border control that you're going to be doing productive work, they WILL turn you back on the spot. Either get comfortable lying about your intentions or you will severely limit the countries you can visit.
edit: one more thing, everyone I've talked to as a digital nomad makes sure their status is as a contractor. If you're on payroll as an employee things instantly get more complicated, especially internationally.
A not bad idea however, is to incorporate a small limited company that can bill your clients around the world. Clients tend to like this as it is simple to declare expenses. Don't take a $50 Cayman-ish Internet registrar; take a reputable one that will act as named company secretary, $200-$500 should be fine depending on where you are. Gives you a registered address and a professional to call if you freak out.
You need to keep books and file tax reports, but is not a hassle and can save a lot of hassle.
Pay yourself from that company and when incorporating it (less than 30 minutes), wherever you are, ask your accountant/company secretary how the company should pay taxes. For your case (wherever you are) they will have heard the question a thousand times before and give you frank advice; this non-charged advice saves them time during busy periods in the year. You still need to do the books and keep necessary paperwork, or send it to them.
Do not do the above and work as a Nomad while receiving income from a client in the same country (unless you're incorporated in that country, or on a business visa but we're getting really case-by-case in this, ahem, case). You'll be treated as an illegal worker, opposed to a cash-injector.
A bit of a ramble. How something in there was useful.
But, in your situation, moving every 2-3 months can mean you might actually avoid tax residency in most countries. So it can be complex. Look into the three or five flags theory for perpetual travellers. Also into tax-residency rules of the countries you'll be staying in.
Essentially you want to have your citizenship somewhere where your foreign income is not taxed. Have a legal residence somewhere with low tax/tax haven. Earn your money/host your business somewhere with low corporate rates, have your assets somewhere where they aren't taxed massively and spend your money somewhere with low levels of consumption tax/VAT.
As for visas, it's really just travelling at a slower pace. While working remotely, it's kind of a blurry situation. Mostly though, as long as you don't remain longer than six months in one country, you're unlikely to fall foul of residency laws (for tax purposes).
As the project has gained momentum and is looking to be something that will continue long-term, it has me wondering about the correct process. A couple weeks ago I spent a few hours researching IRS documents and posts found by googling, but nothing was conclusive. Some of the information I found indicated what Ive been doing is correct, but I need to have the contractor sign a W-8BEN . Other information indicated that I should be withholding 30% of his earnings even though he meets the standard to be a 1099 contractor if he was a US citizen.
Do others have experience with this and what can you offer as advice?
Make sure payments are made to your home country bank account and not to any kind of local account.
Do that and be relatively discrete about what you're doing and you'll have no problems whatsoever. DO NOT try to explain what you're doing to any immigration/officials/authorities, simply say you're a tourist which in practical terms you are.
Step 2: Avoid being tax resident in countries. e.g. In the UK you only become a full tax resident after ~90 days (or something like that - I didn't deal with it). The more tax residencies you collect the more of a mess it'll be.
Step 3: Stick to countries with double tax agreements in place ("DTAs")
I know that being an American citizen can make it very difficult to live abroad. I am an accidental American and I have to report all of my money that I earn and keep abroad. That means if I have a job and earn a salary, keep a pension fund, have investments, work as a contractor for 1 job and have my spouse's bank account under both our names, I have to report all of that. Seeing as no free software offers a way to do all that I have to pay a yearly I-am-an-American "tax" to an accountant to make sure that everything is filed properly. If any mistake is made I could be fined up to half of the money that I own (not the money that I have in America, but all of the money that I own). If I want to open a bank account, I better hope that my bank in my country decides to bother with all of the liability involved with having an American customer. If not, they can (and some have) simply close my account and tell me to withdraw everything. If I want to start investing through a company such as Schwab, I must declare exactly how I earned all of the money, be limited in the funds that I can buy, and receive less perks.
If anyone else is an American living abroad or who wants to live abroad, feel free to contact me. On the bright side, we still are allowed to vote. That means that I periodically call my representative and let them know that I don't care whether they are Democrat / Republican, Pro-Life / Pro-Choice, like Trump / hate Trump, if they want to repeal these laws preventing Americans living abroad from living a normal life, I will vote for them.
If you are and American who is interested in leaving America or if you already have, feel free to read more here: https://aaro.org/position-papers-2015/taxation-and-financial...
Tourist visa: You're not working, really. It's a continuation of your established consulting commitments. You are on holiday. There's no law against that.
I've started my own company there and can bill from there, or pay myself a salary, whatever is most handy.
What if you are not staying more than 3 months in a country, per year?
Where are you tax resident?
Are you even legally resident somewhere?
Should you even pay taxes? Who is going to catch you?
Honest question. I'm not American, part time nomad, paying taxes but thinking about the uselessness of doing so quite often.
For example Germany has mandatory insurance. So you cannot cancel your insurance, and even if you travel in another country they still expect you to pay the insurance in Germany. Public insurance for freelancers costs around 350 / month, and as DN without German employer they will classify you as freelancer.
You probably do not have to pay the full fee while being outside of Germany, but public insurance has various rules which even the insurance providers do not know, because they are set by law/regulations not by the providers themselves and the clerks by the providers rarely deal with DN.
1. If you have no savings, it only costs a reduced rate of 150 / month. But traveling without savings is risky, too.
2. If they register you as freelancers, you can opt out and get private insurance, which costs between the reduced and the full public insurance rate, while you are young. But it is a market-rate and become arbitrary expensive, if you are old, and you can not switch back to public insurance (except for marriage or a non-freelancing job with a certain inome).
3. Thus you must be very carefully when choosing a travel health care insurance, because they might consider that to be a private insurance, and if you had private insurance, you cannot go back to the public insurance.
4. There was an obscure emergency-like plan, where you register as being in another country and then only pay a minimal fee to be insured, but do not get anything covered and you must be outside of Germany for several months. Hard to find any information about that.
5. The important thing is to do all (un)registrations before leaving. Since insurance is mandatory, you always have insurance in Germany, even though you were away. So when you are back there, the new insurance will not begin in that moment, but begin retroactively when the last insurance had ended. When you are then still doing freelancer work, they will bill you a lump sum of 350 for every month you were away.
Where are you resident now?
I'd say generally you are tax resident in your own country until you spend enough time in another country for THAT country to consider you tax resident. At that point a double tax agreement kicks in and therefore you only need to pay tax in your new country of residence. If you move around all the time then you generally have to pay in your own country. This all assumes you are working freelance.
I believe a lot digital nomads actually declare no income anywhere and don't pay any tax. This is obviously risky and illegal and not a great idea.
As others have said, it's probable that if you are out of this particular country for long enough you will not have to pay tax there.
Since 2014, tax residency in the UK is now quite a complicated algorithm (see https://www.gov.uk/government/publications/rdr3-statutory-re...). Provided you keep your work-days in the UK low, and can demonstrate workdays outside of the UK, it's possible to avoid tax residency.
However, it's worth considering the benefit of being a UK tax resident is that you accrue National Insurance contributions (even if the amount of those contributions is zero!), which in turn qualify you for a state pension.
The bigger issue is making sure you have the legal right to work where you are going and don't get into double taxation. Everything is country specific. (And see #2, if you are a US citizen there are tax treaties so you need to see).
2. You don't state where you are a citizen of and where you are working but the United States taxes on global worldwide income (only country to do so but there are tax treaties).
3. On an offhand way, it's probably easiest for you to incorporate and work for that corporation but it depends on the nature of your remote work.
I would love to know in a comment why this suggestion is downvoted.
So every year I spend about 2 hours with:
- sum all money that arrived to my account in last year
- fill form on IRS website
- update standing orders for health/social contributions for the next year
- one month latter, ring IRS and other offices, just to check all went through
If you move every two months, I would not worry about it too much. Important is:
- you pay taxes somewhere (preferably in your home country)
- you do not work for locals
unless you're a US citizen, your country of citizenship doesn't tax you if you live abroad
I'm not a tax accountant, but I've spent a reasonable while looking at this and talking to various people in similar situations.
Step one: work out where you're tax resident. You're typically tax resident in the place you spend more than 6 months of the year. There are some more complex per-country rules if that doesn't cover you though, and lots of tie breakers on things like where your ties are (where your business/family are located) and how many days you spent working in the countries involved. This can be complicated and gets relatively subjective in the tricky cases. If it's truly ambiguous and you're not a super high earner, you can probably pick any plausible option without much risk.
Step two: pay taxes on income earned in the country(ies) when you earned it (i.e. where you currently are working, if you're working remotely), plus taxes on your whole annual income wherever you're tax resident. There are double-taxation treaties between most nations that allow you to claim it back. If you're American, I think you also have to pay taxes in America, on top of the above (but I'm not American, so I'm not sure on that). An example:
- You live in the UK for 9 months this year, so you're a UK tax resident
- You work from Spain for 3 months (remotely or locally)
- You should pay tax in Spain for the earnings of those three months
- You should pay tax in the UK for the full year, but claim payments in Spain back against that (there's a field for this on UK tax returns).
- That means your total tax bill is the same as if you were just in the UK (this isn't necessarily always true, if you have wildly different tax rates), but there's just more paperwork.
In practice, my impression is loads of people ignore these rules (I personally know large numbers of people doing so), and just pay tax where they're tax resident (or even just where they were last tax resident), and skip the extra paperwork.
Whether you can get away with that depends on your situation, but if you're asking for tax advice on HN you're probably not an individual where it's going to bite you, as long as you pay tax correctly for the majority (i.e. if you just pay normal full tax to the UK, in this example).
This is 'what happens in practice' advice though - it's a good idea to actually talk to an accountant, and take the risks of shortcuts here seriously, especially if your situation is interesting or complicated or you're earning a lot of money. These rules can also vary significantly in other nations, so you'll need to double check them for each of the countries you're planning to visit.
Is there an easy way to ask the VAT back from each country?
Also, PIA should allow paid accounts to add their own custom nodes and manage them via their convenient interface.
This would cause such a bummer for wanabe-trackers.
What recourse do I have as an individual?
A bit more: The dashboard and domain list pages were under this ap.www.namecheap.com subdomain (new to me) with its cert from GeoTrust having the obsolete configuration -- www.namecheap.com uses one from COMODO that has more current settings. But the shopping cart and checkout pages are still under www.namecheap.com .
And, I've been having more and more problems with sites rejecting access while I'm using a PIA connection. First came the blockage from Netflix and Amazon streaming video. Then, archive.is and some others. Now Namecheap? Is Amazon next?
I guess it's time to set up my own VPN on some hopefully untainted IP address. But more generally, are we slowly being pushed to use our / our ISP's addressing? "True name" addressing, one site at a time?
Feels more and more like the Internet is falling under corporate and government control. Not just the snooping, but active control.
Call me paranoid.
P.S. Encountering the combination of these changes, all at once, caused me considerable pause. Credential swiping? Fraudulent sub-domain passing through the main site while harvesting data?
Ultimately, after chatting with support a couple of times and weighing what I know and have seen in the past from Namecheap, I decided to proceed. Finding the checkout pages on the main domain was also a bit reassuring, and I used a credit card that I can monitor and cancel and chargeback if necessary.
Hopefully, Namecheap will clean this up.
They've generally received favorable comments and recommendations here on HN, for years. The basis of my posting this here.
SQLite will be supported for the life of the Airbus A350 frame. Airframe have lifetimes measured in multiple decades, so having it work in 30 years is a good bet.
"In addition to "supporting" SQLite through the year 2050, the developers also promise to keep the SQLite C-language API and on-disk format fully backwards compatible. This means that application written to use SQLite today should be able to link against and use future versions of SQLite released decades in the future."
Other than that, it's hard to beat simple text formats for sheer longevity and future-proofness. You might well consider printouts of some core stuff if your goal is for the info to survive multiple decades. Whatever you do, document your own process while you're at it, so future you can figure out how to reassemble things if a software dependency shifts out from under you.
The data format you choose should depend on the relationships present in the data. If there are relational connections between data points (e.g. data1 HAS A data2, data3 HAS MANY data4s), then SQLite is a fine choice. If all you want to do is keep the data around, there is nothing wrong with text files - perhaps the directory structure could represent the organizational structure you require.
Text-based formats in my opinion still are a better bet for really long-term storage, since I think they are easier to recover from partially-broken states. (E.g. if you give me an sqlite file with a few bytes broken, I don't know how how to recover that. In a text-based format I can fix it by hand if necessary, or modify my tools do deal with it). More complex formats can be derived from them and used as caches: e.g. for a large text-file archive, you might want to have a full-text index in some database format for faster querying. As long as that index is fully generated from the base dataset, its stability is not as important.
That being said, the SQLite development Community are very very big on backwards compatibility. eg:
Hmmmm, there's a better talk by D. Richard Hipp around, but I'm not finding it atm. In the better talk he explains they (SQLite) are planning to be around for the 30 year timeframe you mention. Something to do with an airplane manufacturer looking for long term guarantees, but I don't remember the details.
 Command .dump a https://www.sqlite.org/cli.html
More than any data format in existence.
SQLite is used in every single mobile phone on the planet.
For those of you who are not familiar with D. Richard Hipp's work, SQLite is the best tested and supported library in the history of software. Look at the test suite and be amazed.
Even better if you keep SQL dumps with your backups every few months. Those are going to be readable much more easily.
That way you get to have all the convenience of any tools you might want right now, and have a very easily "parsable" copy that you should be able to write something to put it in something in the future.
+1 to text-based formats. For long text I'd choose markdown. For anything with a more nested structure, yaml. Yaml can do references between objects as well.
I'm not sure what you mean by "the kind of organisational power I'm looking for".
Somewhere, somewhen, someone put together something (a bunch of shell scripts?) that gave you some fraction of a database's power on plain text files.
(Somewhat fuzzy, I know ... wetware not competitive these days.)
There is no application that has a 30 years lifespan. Expect to already have massive issues in 10 years. If you depend on a single application, you're screwed.
You want a readable long term format, you use a good old txt/csv/xml. Whatever fancy computer may come up in 2050, it's guaranteed they will ship with applications to read that.
If needs be, gzip it to save space.
Generally, I think a business built on building browser extensions is roughly equivalent to the shareware businesses of the previous millenium. If the extension is really useful and either solves a serious business problem or has massive adoption then a little money will trickle in. But by and large the problem is that the anchor price for the browser and browser extensions is $0. This means that $10 is infinitely more money.
And the occasional $10 is very very rarely enough to really run a software business and provide support and drive development forward. It's also not enough to support significant marketing and even significant marketing is unlikely to be enough to cut through the noise of the 'extension stores'.
Finally, I've been thinking that a lot of the real problem is that while $10 or $20 seems reasonable, the aggregate logic of cheap utilities is that if a person pays for all of them it is real money...e.g. twenty ten dollar utilities is becomes a non-trivial software purchase. I think people act on this intuitively, they're not going to pay for all of them and that means not paying for some of them and not paying for some of them is morally more or less equivalent to not paying for any of them. And so they are disinclined to pay.
Again, it's not impossible to create a revenue stream from this sort of software, but it is unlikely to be enough to replace a full time job.
Right click on any link or page to have the option to view the link/page with Google Cache or Wayback machine.
I admit it's my own extension, but I do use it quite often and it's come in handy.
Plus, I also mentally make notes of what sites have the fewest scripts and stick to them instead of competitors that don't.
I'm sure there are businesses out there that make money with extensions, but I'm struggling to think of one that I've ever seen I'd pay for.
Lots of people post (chrome) extensions here, for example, but I don't use chrome so they're easy to ignore.
I want the code to be auditable and hackable.
FF - uBlock Origin, Decentraleyes, Random Agent Spoofer, Self-Destructing Cookies