2. Take an "adjacent" job. I.e. find company that has both embedded jobs and non-embedded jobs; apply for the latter. It's easier to transfer within a company, because they know you and say "oh, psyc is smart, he/she can learn this" as opposed to "who is this psyc person? they don't know embedded". So it's a good way to get into jobs you can't otherwise get.
Then for overall curriculum, I'd suggest:
1. start with basic machine learning (not neural networks) and in particular, read through the scikit-learn docs and watch a few tutorials on youtube. spend some time getting familiar with jupyter notebooks and pandas and tackle some real-world problems (kaggle is great or google around for datasets that excite you). Make sure you can solve regression, classification and clustering problems and understand how to measure the accuracy of your solution (understand things like precision, recall, mse, overfitting, train/test/validation splits)
2. Once you're comfortable with traditional machine learning, get stuck into neural networks by doing the fast.ai course. It's seriously good and will give you confidence in building near cutting-edge solutions to problems
3. Pick a specific problem area and watch a stanford course on it (e.g. cs231n for computer vision or cs224n for NLP)
4. Start reading papers. I recommend Mendeley to keep notes and organize them. The stanford courses will mention papers. Read those papers and the papers they cite.
5. Start trying out your own ideas and implementations.
While you do the above, supplement with:
* Talking Machines and O'Reilly Data Show podcasts
* Follow people like Richard Socher, Andrej Karpathy and other top researchers on Twitter
Good luck and enjoy!
* Jeremy Howard's incredibly practical DL course http://course.fast.ai/
* Andrew Ng's new deep learning specialization (5 courses in total) on Coursera https://www.deeplearning.ai/
* Free online "book" http://neuralnetworksanddeeplearning.com/
* The first official deep learning book by Goodfellow, Bengio, Courville is also available online for free http://www.deeplearningbook.org/
* Book: Hands-On Machine Learning w/ Scikit-Learn & TensorFlow (http://amzn.to/2vPG3Ur). Theory & code, starting from "shallow" learning (eg Linear Regression) on sckikit-learn, pandas, numpy; and moves to deep learning with TF.
* Podcast: Machine Learning Guide (http://ocdevel.com/podcasts/machine-learning). Commute/exercise backdrop to solidify theory. Provides curriculum & resources.
Introduction to Statistical Learning http://www-bcf.usc.edu/~gareth/ISL/
Elements of Statistical Learning https://web.stanford.edu/~hastie/ElemStatLearn/
Disclaimer: I work for Insight
If you're into python programming then tutorials by sentdex are also pretty good and cover things like scikit, tensorflow, etc (more practical less theory)
 https://www.coursera.org/learn/machine-learning https://pythonprogramming.net/data-analysis-tutorials/
There was one particular study piece that I remember reading that I believe was written in the late 70's early 80's, but I can't remember its name. It was a HTML unformatted uni course-work document that the guy who wrote it said he'd just keep changing it as required. Really wish I could remember his name.
I have a slightly different bent on what is discussed here, because my particular implementation reflects what I think is important. There are an infinite number of variations. It depends on what you think you think it might be good for.
Although this recommendation doesn't really fit the requirements of the poster, I think it is easy to reach first for modern, repackaged explanations and ignore the scientific literature. I think there is a great danger in that. Sometimes I think people are a bit scared to look at primary sources, so this is a great place to start if you are curious.
Just Q&A - no presentations. Study from whatever books (http://amlbook.com/ and http://www.deeplearningbook.org/ are popular in our group) or courses (Andrew Ng's are also popular) you like throughout the week and then show up with any questions you have. We've been meeting for a couple of months now and new folks are always welcome no matter where you are in your studies!
For AI specifically, MOOCS on Coursera, edx, and Udacity will give you plenty of options. The ones by big names like Thrun, Norvig, and Ng are great places to start.
It really helps to already be comfortable with algorithms. Princeton's MOOCs on Algorithms by Bob Sedgewick on Coursera would be a great place to start.
HN thread: https://news.ycombinator.com/item?id=14764700
Since then, I've used Wikipedia and Mathworld when work had needed it. Regression, random forest, simulated annealing, clustering, boosting and gradient ascent are all on the statistics/ML spectrum.
But the best resource was running NVIDIA DIGITS, training some of the stock models, and really looking deeply at the visualizations available. You could do this on your own computer, or these days, rent some spot GPU instance on ECC for cheap.
I highly recommend going through the DIGITS tutorials if you want a crash course in deep learning, and make sure to visualize all the steps! Try a few different network topologies and different depths to get a feel for how it works.
It is quirky, funny and above all very short and crisp and gives you a quick overview of things. Most of his videos are related to AI/ML.
The host and a panel of professors talk about subjects ranging from ancient history to nuclear physics.
This week in startups - I am big fan of Jason and his work
Startup for the rest of us - no ads , pure useful content
Montley Fool Monday - great weekly update about the market , a lot of talk about tech
The Joe Rogan Experience
TRAIN BY DAY JOE ROGAN PODCAST BY NIGHT, ALL DAY!
Grant Cardone's podcasts mainly: https://grantcardonetv.com/podcasts/
Masters of Scalehttps://mastersofscale.com/
How I Built Thishttp://www.npr.org/podcasts/510313/how-i-built-this
Limetown, Message, Black tapes.
Crypto-Gram - a monthly security-themed digest podcast (it is actually an audio version of the identically titled Bruce Schneier's newsletter):
And, of course, "Hardcore History". It's just teriffic, Dan Carlin has a talent in painting live historical pictures using just words.
Only podcast I listen to, the Bodega Boys, to guys from the Bronx that started out as amateur comedians on Twitter and ended up with a TV show: https://www.viceland.com/en_us/video/thursday-august-10-2017...
Film Sack - Film reviews of bad, strange or unique movies. They only do movies that are currently available via streaming sites and encourage their listeners to watch the movie before the episode.
Judge John Hodgeman - Two people, usually a couple, call in to the show with a disagreement. John Hodgeman will listen to both sides and cast his judgement. Both sides agree to abide by whatever he says.
Planet Money is well produced and entertaining.
+ https://soundcloud.com/dez_blanchfield/ibm-fast-track-your-data-2017-podcast-series-talking-with-lillian-pierson + https://soundcloud.com/dez_blanchfield/conversations-with-dez-podcast-series-talking-about-cloud-ascend-from-engility-with-kevin-jackson + https://soundcloud.com/dez_blanchfield/conversations-with-dez-podcast-series-talking-about-behavioural-economics-with-guy-shone + https://soundcloud.com/dez_blanchfield/conversations-with-dez-podcast-series-talking-about-cloud-on-mainframe-with-steven-dickens + https://soundcloud.com/dez_blanchfield/conversations-with-dez-podcast-series-talking-gdpr-with-ian-moyse + https://soundcloud.com/dez_blanchfield/conversations-with-dez-podcast-series-talking-social-selling-with-ian-moyse + https://soundcloud.com/dez_blanchfield/conversations-with-dez-podcast-series-talking-with-joe-speed + https://soundcloud.com/dez_blanchfield/ibm-interconnect-2017-podcast-series-talking-with-david-mathison + https://soundcloud.com/dez_blanchfield/ibm-interconnect-2017-podcast-series-talking-with-jeff-spicer + https://soundcloud.com/dez_blanchfield/ibm-interconnect-2017-podcast-series-talking-with-dr-bob-hayes + https://soundcloud.com/dez_blanchfield/ibm-interconnect-2017-podcast-series-talking-with-steve-ardire + https://soundcloud.com/dez_blanchfield/ibm-interconnect-2017-podcast-series-talking-with-kevin-jackson
1. iTunes 2. GooglePlay 3. SoundCloud 4. aCast 5. MixCloud 6. iVoox 7. ListenNotes 8. Stitcher 9. PlayerFM X. Ustream + http://bit.ly/dezsoundcloud + https://itunes.apple.com/gb/podcast/conversations-with-dez-blanchfield/id1223831564 + https://play.google.com/music/m/Ic4aqobisb6om245wujxsxmgyoa?t=Conversations_with_Dez_Blanchfield + http://www.acast.com/dezblanchfield + http://www.mixcloud.com/dez_blanchfield/ + http://www.stitcher.com/podcast/dez-blanchfield/talking-with-2/ + http://cxoguide.com/conversations-with-dez-blanchfield/ + https://player.fm/series/conversations-with-dez-blanchfield + http://www.ivoox.com/en/Dez-Blanchfield-Talking-With_sb.html + https://www.listennotes.com/channels/1929359/conversations-with-dez-blanchfield/
2) Planet Money
3) The Daily
4) 50 Things that made the modern world
5) The inquiry
8) Pessimists archive (should be called Luddites archive)
9) More Perfect
10) Science Vs
-The History of Rome
-True Crime Guys
-Myths and Legends
-Internet History Podcast
Everyone Hates Marketers - Louis Grenier
How I Built This - NPR
Late Night Linux
Chemistry World Podcast
Sometimes chapo trap house
Sometimes Sam Harris
[0a] Giant Bombcast and [0b] Giant Beastcast (Note I'm a premium member)
The Giant Bomb staff discuss the latest video game news and new releases, taste-test questionable beverages, and get wildly off-topic in this weekly podcast.
 Thirty, Twenty, Ten
A pop culture time machine that examines TV, movies, music and video games from the 80s, 90s and 2000s.
The original classic gaming podcasts continues its endless quest to explore the history of video games, one game at a time.
 The Talking Simpson's (Note I still love The Simpson's)
Join your friends at the Laser Time Podcast Network for a chronological and cromulent exploration of the greatest show ever made!
 Game Informer
No description available: Weekly podcast about video games. Professionally produced and in depth and I highly recommend listening to the episodes where they discuss the origination and founding of Funcoland/Gamestop/Game Informer and the current episode about Game Freak the developers and creators of Pokmon.)
 8-4 Play
Bi-weekly podcast about Japan video games, culture, and everything Japan that's making the news. They also run a video game translation business and have ported many popular games.
 Laser Time
Laser Time is a show featuring folks in the video games industry, although not necessarily about video games.
 Game Dev Club
The Dev Game Club looks at older games and plays through them in a form similar to a book club!
 Player One
Join ex-game journalists Chris Johnston (ex-EGM), Phil Theobald (ex-GameNow), Greg Sewart (ex-EGM) and their buddy Mike Phillips as they talk about console/portable/PC games, babies, and the meaning of life.
[9a] Radio Free Nintendo and [9b] Famicast
No Description Available: Podcast about all things Nintendo, old and new. It's very well done and balanced. The Famicast comes out less often and is mostly Japanese focused.
 Genesis Gems (I was a Nintendo kid.)
Genesis Gems is a retro gaming podcast focused on the Sega Genesis console. Family friendly, fun, and goofy!
I have others, but these are the podcasts I look forward too every time they pop up in my feed. If you can't tell, I like pop culture, video games, and listen for fun and to escape. That work life balance thing.
- Sam Harris
- Joe Rogan
http://ipfessay.stavros.io/ - Publish uncensorable essays on IPFS
https://www.eternum.io/ - Pin IPFS files with a nice interface
https://www.pastery.net/ - The best pastebin
https://spa.mnesty.com/ - Fuck with spammers
https://www.timetaco.com/ - Easily make nice-looking countdowns
And this is just the last two months or so? Also, lots of hardware stuff:
My project/uBO filter list removes the "annoying" elements noted above as well as other "features" of websites (e.g. social share bars, cookie notices, etc) through a filter list that works with uBlock Origin.
I update the list often, and admittedly am probably entering into an arms race but I'm just really sick of websites hijacking (what I think) the web was built for (information).
Feel free to subscribe to the filter list by pasting the URL below into the 'Custom' section under the '3rd-party filters' tab of uBlock Origin.
This filter list also works on mobile Firefox for Android with uBlock Origin installed.
 Project Homepage https://github.com/yourduskquibbles/webannoyances
This lets public transit passengers answer questions like:
- "My train is getting later and later, is it actually moving?"
- "My train is getting later and later, has it actually STARTED its journey?" (sometimes the answer is "no", sadly)
- "Is it just my train, or are many trains running late?"
- "What was the on-time performance of this train like yesterday? 2 days ago? 7 days ago?" (Some trains tend to be chronically late)
It may come as a surprise that the backend of the system is actually not a database, but Splunk (http://www.splunk.com). DBs are nice, but Splunk is fantastic when it comes to data analytics and reporting.
I'm currently waiting for Splunk to make some of their machine learning modules available for free so that I can start pulling in weather data, train the machine learning component against both that and the train data, and use that to predict the likelihood of any given train becoming late.
If I didn't have some creative work I would be much less happy.
But then somewhere along the line my projects started making me money and then I start reading all these marketing books and my perception changed. Now if I'm creating a site I'm usually more focused on SEO, list building and crippling my software so that I can extract more money from my users. I am making more money but the joy of doing it is gone. I feel bored writing software and generally browse HN and reddit and generally force myself to work.
Maybe it's time to go back to the basics and work on stuff just for sheer joy of doing it :D
It's a wiki of all the info you need to drive your own vehicle around a country, continent or the world.
Border crossings, paperwork, insurance, gas prices, camping, drinking water, safety... it's all in there for a massive number of countries in the world.
I'm driving around myself, and it occured to me there is so much info out there but it all slides off the front pages of blogs and forums or is buried in facebook posts. Every three months people re-write and re-post the same stuff because they couldn't find it in the first place. The idea is not for WikiOverland to contain all the info, but at least link directly to it.
The biggest item in my portfolio is xi-editor, and I confess I'm wrestling with some of the questions raised in this thread. I think it has the potential to be a serious player in the editor space, with extremely high performance goals (including fast startup and low RAM usage) yet a modern feel. It also has a great little open-source community around it who have been contributing significant features.
Yet it's at the point where it's _almost_ done enough to use for day-to-day editing, and I'm hesitating a bit before pushing it over the line. I think I'm scared of having lots of users. It's also the case that I'm very interested in the engine and the core of the UX, but the complete product needs a plugin ecosystem and along with that ways to discover, upgrade, and curate the plugins (including making sure they are trustworthy, lately a fairly significant concern). That's potentially a huge amount of work, and it doesn't really line up with my interests.
I'm wondering if it's possible to focus on the parts I care about and try to foster the community to take care of the rest, but I'm not quite sure how that would work.
If this were a business and I had some way of making a few coins from every user, then my incentives would be lined up to make the best overall product possible, including the less fun parts. But that's off the table; among other things, there are a number of good free editors out there, and the niche for a better but non-free editor is also well occupied.
Maybe the HN crowd has some ideas?
I've always wanted a good Arabic root-based dictionary with vowelling, plurals, etc (basically Hans Wehr online). I also wanted the structured dataset for some linguistic "research".
It was a fun project - I built out a web interface for reviewing and updating entries and put in a lot of hours of manual correction (just to get all the entries to validate - I still have a lot more corrections/fixes to make...). I'm a little burnt out on it at the moment, but I plan on:
- fixing those mistakes and a few other bugs
- cleaning up the UI/display
- moving onto a "real" server framework
- writing up some blog posts about those short linguistic investigations I'd like to do now that I have the structured data
- making an API?
Notably lacking is any plan to promote it... I posted it on reddit and I'd love it if people stumble upon it and find it useful, but I did it mostly as a labor of love and something that I personally find useful!
Yeah, I know it's not particularly fancy, nor does it involve any clever coding tricks or interesting features. However, it's literally the only community on the internet dedicated to the series, and one I've decided to run for a minimum of two decades to make sure said franchise finally builds a decent fanbase.
Is it going to make money?
Probably not, given how the franchise it's based on sells about 2 million copies worldwide at most, and hasn't gotten a new game since either 2013 (WarioWare) or 2008 (Wario Land).
But it's one with a passionate audience that up until recently had nowhere online to discuss the series nor anywhere specifically dedicated to their favourite franchise. So I decided to change that by setting up and promoting a community based on it, with the guarantee I'd keep it open for decades in the hope that eventually a community at least the size of the Earthbound one comes about here. With the hope that eventually I won't need to run the forum because there'll be enough sites about it to sustain a decent fandom.
It's a little like SSLlabs server test, only much faster (5 seconds instead of 2 minutes), plus the tests are recurring every day, and you receive the diff if any.
It's always been a joy to receive thank you emails from users, or adding new features for users.
SSLping also allowed me to learn React and Redux. I'm still working on it, adding new features and refactoring what I don't like.
If I ever have to stop hosting it, I'll open source the whole thing. Or maybe I'll open source it anyway. If I could find a deal with a security company, I would work on it fulltime.
I consider it's a success, even if the numbers are not as high as I'd like.
It's quite compatible and brought me a lot of fun. Blog post describing it:
A somewhat interactive GPIO pinout for the Raspberry Pi.
Not so much out of sheer joy, but because I needed it.
It started as a basic way to explore each pin and its available alt-functions.
Listings of add-on board pinouts were added later for people who want to use multiple boards- or perhaps connect them to a different host.
It's a Chrome extension/homepage that shows you a new book every time you open a new tab, plus a special hand-picked idea that teaches you a new perspective/fact/concept.
I'm evaluating a couple different paths to make it profitable, but it's not currently making anything since Amazon cut me off its affiliate program.
I've also made CbrConverter: https://github.com/timefrancesco/cbr-converter
Coverts pdf to cbr and vice versa.
And then there are a bunch of other small projects like:
- Ebay Search Scheduler (schedule Ebay searches with custom parameters)
- Twitter Time Machine (download and browse your twitter timeline) https://itunes.apple.com/us/app/tweet-time-machine-2/id83212... - windows version also available
- Autosleep (put the windows down for good) https://github.com/timefrancesco/autosleep
And many others I really enjoyed making and using.
I also built news aggregator 10HN  with throttling (ten best articles every morning and every evening). I use it daily and it helped to fight my procrastination a lot. It's also interesting to watch the data how stories evolve and get popularity.
 http://www.plainemail.com/ http://10hn.pancik.com
ETA: On the development end this has been a pretty great project for my fiance and I. He built (and I'm learning from his efforts) a database for processing requests, filtering by priority, etc., and then an integration that allows those we want to send to be exported to a file we can pull into our stamps.com account, and that creates drafts of the Wordpress posts that power our map of sent friends. The database is pretty big (we're sitting at about 21K requests right now on a shared hosting platform) so some of the work has been to load the requests asynchronously so you're not waiting for 21,000 rows before you can manage requests...
https://f5bot.com - Social media monitoring. It can email you when your keyword (e.g. company name) appears on Hacker News or Reddit. I don't have any plans to monetize it. I just made it as a small fun project.
Also, like many here, I've made a bunch of open source software for no reason other than the joy of it. Don't ever see that changing. https://github.com/codepleahttps://github.com/tulipcharts
and make video tutorials about it:
Computer graphics is still by far the most fun hobby I've ever had, I absolutely love it, it's like the most engaging computer game you can imagine times 100.
There's not much profit in making art(unless you want to do it professionally), but it's an awesome way to spend my free time, and sometimes it generates some ideas I like to share on youtube.
If you want to get into it, I highly recommend checking out SideFX Houdini. It's a bit technical, but extremely powerful and well designed 3D software, kinda like emacs of CG applications.
It'll never make money, but it has been a good project for me to modernise my web development skills which had gone rusty over the preceding decade. I also took the opportunity to learn NGINX and a few other things that I hadn't really been exposed to beforehand.
Long ago, when Sun workstations were new and exciting, I wrote a simple Roman numeral digital clock, which just showed the time in Roman numerals.
My friend, instead of admiring my cleverness, said "But that's not how the Romans told the time" - which is true. The Roman day started at dawn and finished at sunset, which meant that day and night length were different every single day, as well as in cities at different latitudes.
Several decades later I did something about it, and wrote it up as a mobile app which showed either the modern time or optionally the Roman time.
Then I made it use the Roman calendar, where you don't have individually numbered days of the month, but count instead how many days until the next Kalends (start of the month), Nones (fifth or seventh day) or Nones (thirteenth or fifteenth day), even if it occurs in the next month.
Then I thought I might as well go all the way, and spent more money than I would ever earn from it on having the help text translated into Latin, just in case any ancient Roman time travellers wanted to use it.
A waste of time and money, but one which made me happy.
I have very loose plans to monetize via a paid subscription for syncing with other devices / phones, but there will always bee a free / open source version as well.
It's definitely not making me any money. I would say the motivation is a little bit "joy" / learning, but also frustration that shells are so old, unintuitive, and work so poorly.
I've been going for about 16 months and it's still fun, so that's good. I think that seeing progress is what make things fun.
A few months ago I ended up scratching an optimisation itch for weeks, trying to figure out ways to make the lz-string library faster and smaller. Near the end I went a bit nuts with trying out what works, methinks (nested trees built out of arrays and such), but I had a lot of fun.
It's not even my library, nor did my PR request get accepted/rejected yet. It did however make the compression up to 2x to 10x faster, depending on how well the data compresses.
And hey, I now have an intuitive understanding of LZ compression that I never thought I'd have!
Since a few days I've been working on writing a component for idyll that lets you embed p5js sketches. Progress here.
I've started to get into Ethereum and Solidity recently, but mining even a few coins just to have gas money costs more in electricity than they're worth. I'm letting my desktop mine anyways, but when I reach my pools payout threshold in a week or two (it's got a 3-year-old GPU), I'll probably kill the mining. (I know I could just buy some ETH with USD, but that's probably even more expensive and somehow feels different.)
(To be fair it hasn't been all negative - I bought a copy of the game Portal with the first bitcoin I ever earned, and a Kindle with the second bitcoin. But looking at it from a strictly money perspective, I'm definitely in the hole. In theory, it will be positive eventually.. but I'm still not sure exactly how.)
Not only do I not make money on the project, it actually costs me money! :)
I have seemingly undying motivation to work on it, knock out bugs, release patches, catch cheaters, etc. The community being so active and excited helps keep me going. I probably spend 30-40 hours of week on the project.
Based around an idea of IO pipes with minimal semantics (duplex, reliable, ordered) that they can then extend to implement other traits like IO buffering, atomic send, packetization, compression, encryption, etc. 
This then allows merging together pipes of different types (by attaching the output of one to the input of another), which combines their traits and yields, for example, a reliable datagram carrier with in-flight compression.
With this it also becomes possible to write a simple IO bridge  that relays both data _and_ operational state between two pipes. The bridge in turn can be used to implement all sorts of interesting things, e.g. proper TCP relay, SSL tunneling proxy, TCP trunking proxy, etc.
Started off as a 'find a tennis partner' forum however getting traction was difficult. Chicken and egg problem. Slowly migrating to solving problems of league and tournament management. Will drop the forum one day. Long transition to do part time.
Now working on a mobile version with cordova. Testing it on the league I am managing. Saves us a lot of time since it automates lots of tasks and avoids the use of Excel.
I don't expect to make money. Market is small and problem is tough to solve. UX intensive. However fun to do on spare time.
My objective is to launch on the app store in 2018. Then I hope lots of leagues around tue world will use to simplify their lives.
Everything is open source and is MIT licensed, both the search engine and the entire database it searches over.
There are however many things that we can still do to take this idea further. Hopefully more people join to help us with that. :)
A way to motivate people (including myself) to exercise with a chat bot that tracks your progress.
Originally built it to track how often I worked out, and if I didn't, what the reason was and have that reported back to me regularly. Now I have a bunch of people using it, but as you can imagine, makes me zero dollars. Well, technically it costs me money so it makes me negative dollars.
It used to cost me under five dollars a month using Twilio but its usage has taken off dramatically (completely organically) and now it cost me closer to $50 a month but I keep paying it because its fun.
I also built and ran an implementation of Cat Facts several years ago until that was shut down by my provider because people are abusing it too much.
Here are some things you can do with this software:
1) Research your market, find out your target audience
2) Integrate with analytics tools and understand your users
3) Automate your marketing strategies
4) Maintain a central data warehouse
5) Maintain multi-domain content properties such as blogs, websites, news portals, etc.
6) Host online trainings, build a student list
7) Etc. (read the link: https://news.ycombinator.com/item?id=14785209)
I've been working on it over 3 years now, while trying to jump from one web framework to another. Finally, I've settled down on Phoenix. This project alone has helped me learn so many programming languages and also helped me gain more experience as a programmer in general, while simultaneously being able to integrate new tools and platforms into my pipeline - This is how I learned React, VueJS, Brunch, Google Cloud, etc.
At the moment, I've built this only for myself, just to support and test out my startup ideas. I am thinking of open-sourcing it at some point, at least the core functionality.
But as of now, there's nothing else I enjoy doing on a weekend than working on this project :) (also why I'm still single)
I started this as a Twitter game a few years ago; it felt like a compact idea with a good hook. Earlier this year I automated it- so it picks its own words and collates the stories on the website itself (mostly successfully).
It doesn't have a big following, but the people who play are passionate about it. Some people play every day, and the most prolific author has written ~650 of them.
I've seen people get better as writers, some experimental stuff (like an improvised longform story built over many daily prompts), and occasionally I see a microstory that knocks it out the park. That makes it worthwhile.
The site is https://www.pasatrade.com
We make no money off of this, I operate it at a loss, but each and every sale gets more money back to the women who really need it; a few extra dollars here and there can really make a huge difference in Nepal. The interesting part is they make more money on each sale through us than they do locally or selling through Fair Trade channels.
https://www.anfractuosity.com/projects/painting-a-christmas-... - 'painting' the LEDs on my christmas tree.
https://www.anfractuosity.com/projects/optical-magnetic-stri... - optically decoding data from magnetic stripe cards.
https://www.anfractuosity.com/projects/zymeter-simple/ - a rather unsuccessful attempt at measuring specific gravity.
https://github.com/anfractuosity/musicplayer - playing .wav files via RF emissions from a laptop.
Sharing funny kid quotes.
Been going for years, not a whole lot of traffic, but the family loves it (that was the intention). Recently migrated from a severely aging kohana/mysql backend to express/rethinkdb.
Pretty fun, don't get to do much back end stuff so its a learning process. Its creative commons so can't make $ off it but the $10/month digital ocean box is doing fine. About 100 players on at peak and always games going.
I have made no money off of this. In fact, I've probably paid hundreds in hosting/domain fees. But I love what I've built so far and use it everyday with my friends. Please check it out, I'd love to hear any feedback!
I have created a free site containing extracts from OpenStreetMap data. Unlike the metro extracts sites (Geofabrik, Mapzen), my goal is to extract specific datasets such as buildings, schools, hospitals, fast food restaurants etc from OSM rather than standard map/gis data.
My overall goal is to make the extracts available, and then to encourage people who use them and get value to actively update OSM to improve the quality of the data they are interested in. By doing this, the overall quality and coverage of data in OSM should (in theory) be improved.
I fill out those 'other comments' on order forms with a request for a dinosaur drawing.
I'm really enjoying developing Movim on my free time because I'm still motivated to show the world that we can have decent social-networks and IM solutions by using existing standard protocols (and not proprietary silos like today).
We've been generating them for years, they're a pain to store, we've made $0 with it. But I really like the data we're getting. We recently moved a lot of the legacy data into S3 to save our own backup & restore process ( https://wonderproxy.com/blog/moving-ping-data-to-s3/ )
I built it to learn React and brush up my Go skills. I occasionally add new features.
It makes $0 now, but I plan to earn 10$ a month before my amazon free tier expires :)
* Plsm - https://github.com/jhartwell/Plsm - which is an Ecto model generator based on existing schemas * Taex - https://github.com/jhartwell/Taex - A technical Analysis library for Elixir.
It was VERY surprising for me to find out that one of the most popular programming languages offers little variety in terms of BT libs/clients. For a long time, if one needed advanced options like DHT or protocol encryption, his only choice would be jlibtorrent (JNI wrapper for the well-known C++ library). Well, not anymore :)
Turning this into more of a social experiment now, seeing where he community wants to take this. Publishing download reports and stuff.
Even made a landing page.
1. Figure out how many of the 2M and 1M members are actually engaged (reading emails as opposed to just opted-in).
2. From the engaged audience, who are they and what keeps them interested in the newsletter? What do their lives look like and is there any value that you can bring?
By knowing who your audience is and what they potentially need, you can deliver more personalized content. You could also think about promoting content from partners that go beyond straightforward ads (i.e. discounts, exclusive offers, developer bundles, Amazon AWS credits, affiliate links, etc.)
You could also find authors who are looking to promote their books, and charge them for adding their ad to emails.
Also I'm sure there are plenty of software/info-product companies and startups looking for audience in this niche.
If you can segment books by niche, it should be even more awesome and profitable. Send programming books and courses to programmers(a lot of them have affiliate programs), business books to business people, etc.
If it's not a secret, can you share with us what you did to build this list? The more details the better, it would be incredibly useful!
2.'If you enjoy our content, support us via PayPal'
3. And once in a month or bimonthly sharing your expenses and asking for support.
4. Contacting relevant youtubers for traffic or brand campaign where you can embed their videos along with the newsletter.
5. Finally, Checking with Book Publication to add relevant new releases as Sponsored.
However, if you're already doing books, what about Amazon affiliates or even, depending on the topic of these books, selling related products? If someone is interested in finance, business, or home improvement, for example, there's a lot of items they might buy beyond books. You can recommend them and make some money off each sale.
Why is your content all free? Have you tried to directly monetize the content? Why not have the first x,xxx downloads free, then monetize the content and split revenue with the author & publisher? Or have a graduated cost based on popularity, similar to what pinboard did? Something like this may have the side benefit of creating a sense of urgency and anticipation for your newsletter.
You have the attention and trust of a LOT of people. Figure out what they need, what problems they have.
In your shoes, I might attempt to break the newsletters up further into more easily monetizable niches. You can track which links are clicked by different subscribers, segment them, and then start sending slightly different emails. Or just straight up create new mailing lists and ask your readers to subscribe to those occasionally.
Just spitballing here.
P.S. You might consider asking on the Indie Hackers forum, too: https://www.indiehackers.com/forum. Lots of people there have monetized various apps and mailing lists.
Bit like parties as Netflix do if they release some new series they strongly think you'd like. It feels more like a 'reminder' then an ad, but its an ad of course.
I'm looking at https://www.reddit.com/r/books/ and it looks like there's so many different things that 'book people' are interested in.
What do you think?
It's free but you could place it behind your own paywall.
Why write something to a database if you can stick it in the url instead? When you stick it in the url it lasts exactly as long as a user is interested in it. If you stick it in a database and give out an identifier you then have to expire it out of the database some time later. This either disappoints users because you expired it too soon, or costs you to store it for longer than it was needed. The HMAC ensures that they can ignore any data that was modified by a curious hacker.
As db38x noted, SendGrid is likely encoding a bunch of data in the link to keep things simple/fast on the back end. Possibly it's the actual target URL and some associated data like the link text.
It's also likely that they're conservative on the encoding they use to prevent issues with different email clients (looks like Alphanumeric, dash and underscore only).
That saves them tracking all that data in a database, which I presume at SendGrid's scale is quite a lot.
- choose what you roughly want to display (e.g. values over time)
- throw some data at it
- it auto-detects file format, dates, values, table headers
- it shows a live parsing preview, maybe even a rough plot
- you can tweak the selection, but more interactively than with regex and with a live preview by highlighting within a few example rows of your data
- plot some nice, live tweakable graphs, starting from presets
- guide through some basic transformations to do (like filtering)
- enable to update the source data
- export images or html
- for more exessive logs I'd whish to have quick filtering. If I log and tag every click of a user on my website I might for example want to select behaviours within the first week of registering (account created at XY, active within XY etc, clicks on the settings menu, sort by most clicked and display "button label")
1) Give me a native Linux clone of Arq Backup, complete with deduplication and client-side (E2E) encryption, with polished UI. I'm spoiled by Arq on Mac but my daily driver is Linux and I have Duplicity, Duplicati, rclone, etc.
It needs to support AWS S3/Glacier, GCP Nearline/Coldline, Backblaze B2, Google Drive, Dropbox and Box. Azure and OneDrive on the Microsoft would also be nice. Text and email alerts (Twilio API or local SMTP server), granular scheduling, frequent validation and dry run/budgeting features would be awesome.
Probably a business model like Arq's - you buy a license for a major point version instead of a SaaS subscription. I'm really looking for something that takes minutes to set up with sane, fast and secure defaults.
2) Give me a piece of software that automates the process of finding product recommendations online. For example, I really enjoy coffee. I frequently go to a subreddit relevant to the hobby and search through it to get qualified opinions. This is how I found my current bean grinder, French press, milk steamer, electric kettle, etc. This would also work well for running, watches, or other hobbies that include purchasing items.
I'm envisioning a website similar to Product Hunt or MassDrop, where users sign up and select their interests (Coffee, Running, whatever). Then you have an algorithm that uses the Reddit API to automatically map these user interests to specific subreddits, then classify, rank and sort product recommendations from the subreddit wiki and relevant threads. One step further: for each product once it's sorted, use NLP to automatically classify its most common positive and negative feedback. Then present this list to a user to automate lists of product suggestions in tandem with crowdsourced user reviews. Monetize the website with affiliate links, and eventually expand to Twitter.
I'd use that! If I had the time I'd work on it myself :)
3) Mailing lists! I subscribe to a bunch of cryptography, security-announce, tech newsletter and other mailing lists. Do for mailing lists what Slack did to IRC. Develop a platform for centralizing mailing lists, such that I can visit your website, sign up and subscribe to or unsubscribe from all of my mailing lists in one unified interface.
On the server side, what you'll do is automatically subscribe to and crawl every single mailing list you can find (mailing lists won't need to opt in), then return each mailing list in the web application frontend with robust caching and load balancing. Users can browse all mailing lists on the website without logging in and search all of them historically. If they want them delivered to email, they'll sign up and choose which ones they're interested in to subscribe. The value add for users is one location for list discovery, one feed for reading list subscriptions, one interface for searching across all lists (with advanced features, naturally), and one pleasant interface for unsubscribing from any mailing list with authentication that doesn't require email confirmation.
Once you've got this down, start adding new features the way Slack did for IRC. These features could add productivity to mailing list discussion; for example: VCS issues, bug tracking or pull requests could be integrated to pop up in a sidepane for threads. Then introduce a pricing structure. I suppose the ultimate goal would be an acquisition by a company like Slack.
4) I have terabytes and terabytes of data that I need to efficiently find insights in. All the tools exist for me to e.g. find correlations in timeseries, but the management and setup process is slow. Devise a way for me to rapidly test hypotheses in a framework designed specifically for this use case. On the storage side, kdb is the gold standard but it's nose bleed expensive. If you can develop a robust alternative, you can sell it for quite a lot. On the analysis side, I need to automate the process of normalizing data from disparate sources, across batch and stream processing, and load it into a backtesting harness. I need to know quickly if there is a link between seemingly unconnected data.
Ideally what I'd like is a way to store a massive amount of cleaned data from different formats and sources, take a slice of each one for a specific period and performantly run a correlation "fuzzer" that rapidly brute forces signals in unrelated data.
The main way to do so is to listen to the potential customer and not even mention your idea or that you are working on something. You must first understand their true problems, not your idea of what their problems might be, which many technical people especially do and rush into building a product that people may not even want. Ask them about their problems in their daily life and if you keep hearing the same thing over and over and it aligns with your idea, then build the product. Even if it doesn't, a repeatedly mentioned problem is still one that could have a good solution.
First, pick the target audience you are either part of, or familiar with. In my case, I chose new and aspiring managers.
Second, learn about their pains. Talk to them, see what they discuss on Reddit, Quora, and wherever else they gather. In my case, I see questions about communicating and dealing with difficult people and dealing with various corporate processes.
Third, figure out what they pay for. Some groups buy books. Some pay for SaaS. Some prefer webinars, screencasts or courses. The options are endless, but the focus should be on what the customers already buy, not what we can easily make. In my case, new managers often buy books.
Four, pick one pain and fix it. Now you don't really need validation in the conventional sense of the word because now you _know_ what the people want and you _know_ what they pay for. I picked the communication challenges new managers face because I have studied this topic extensively before.
Five, implement. In my case, I started writing a book, even though I have never written a book before. But I know there are people I can help, so there is a chance that I actually will. My progress so far (shameless plug, accept my apology and please remove it if you consider it inappropriate) https://www.thenewrole.com/
This process is a somewhat simplified version of what a marketing expert Amy Hoy talks about. I suggest you check her website https://stackingthebricks.com/ if you are considering starting a side business.
Hope this is useful! :-)
When I first made it public I submitted it to ProductHunt and tweeted at marketing folks, with large follower numbers on Twitter, to please try it and help promote it. There was traction but not nearly as much as fast as I had hoped. In fact, just the other day I created an Indiegogo campaign to gauge the interest in paying for the service. At this time, there are 3 contributors for $12 each. Without a big surge it obviously doesn't seem poised to stay alive... for the public. However, like I said, I'll continue to use the service privately, freely. So, it's validated and minimally viable for myself; unfortunately not for the public.
Let's say I'm doing some kind of SaaS for accountants. I would meet with dozens of accounts with a sales pitch for "x software". This will quickly help you figure out if what you're planning on building is actually valuable.
Anybody that takes you up on the sale gets to be an early tester.
You can get sucked into to creating a product that your customers love, but which can only be sold at a loss once the cost of acquiring the customer is taken into account. After making something that nobody wants (to pay for anyway), this is probably the biggest mistake made by entrepreneurs.
So I'll implement a quick version of the idea that gets the point across to others and roll it out to generate feedback. People will likely utilize it in ways you didn't expect or point out flaws in concept or execution- this is good because even if it doesn't validate your idea it could point you towards developing something else.
This works for smaller features within a project as well. Just roll out a rough cut of it, get feedback, and refine. The product I'm working on (https://www.jqbx.fm) has a live chat feature so it's easy for me to roll out a feature to a subsection of users and ask them about it directly. But even if it's as basic as sitting behind someone at your laptop it's almost always worth your time.
I liked to tell as many different people about my ideas and get their feedback for if it is dumb or not. In that list of people will at least be a couple who would be in the intended audience.
If the idea is at least positively received, I might make an MVP if it is easy enough, if it isn't, I'll probably abandon it.
If the MVP is stable enough, I'll probably point Facebook or Google Ads at it to drive traffic.
If any traction is gained, I look at the numbers to see if it is worth it to finish building it, or just leave it as it is running.
I'm not sure if the Google/Facebook Ads are still a good traffic driver, but they used to be.
I happen to hate searching for such answers, and end up creating MVPs only to realize not enough people want to use it. But I think even before MVP, one must pursue getting some early adopters excited to try it (even if it is for free). For my next project I plan to be thorough (hopefully).
Step 2: Talk to at least 10 potential customers to assess the idea. Make sure most are people who don't feel obligated to be nice to you.
* Google Adwords Keyword search tool
These two help in calculating demand of a service or product.
* If you've got contacts, Random Sampled Survey
The first case -- the one I hated -- had a) long rows of desks, b) bright overhead fluorescent lights, c) a lot of noise due to being in a large room with sales/marketing, d) a lot of visual distractions due to people walking up & down the aisles, and e) few available areas to go to collaborate away from your desks.
Now, I'm also in an open office, but I find it quite livable, because: a) my desk faces the wall, for fewer visual distractions, b) the room is comfortably lit (ie, not too bright), c) it's a smaller room with only engineering and is generally quieter, d) there are enough areas to go if you need to collaborate.
All this is to say that, while the evidence is that open offices generally suck, there's probably a number of ways to ameliorate their problems to some degree without having to resort to private offices. I don't think I'd prefer an office to my current setup, actually.
 I think this element is underrated. In fact, I'd be curious to know if there's a verifiable correlation between brightness levels and how loud people tend to talk. There's something about a dim room that seems to induce people to lower their voices.
 Small, but not too small. There's a sort of sweet spot. I was once in a room with 3 other people and it was maddening because it was generally quiet but every little noise -- coughing, swallowing, etc... -- was seemingly amplified by the overall quietness to became hugely annoying. (An inverse concept explains why I can work quite well in a coffee shop despite the background din.)
However, most of our engineering team is remote and if they're not in one of our locations, we give them pretty much what they'd like to build their own home office or go to a coworking space.
For me, I'm actually nomadic, so I tend to work from wherever I'm staying or end up in cafes a lot of time. I still get the support I need if my work "station" isn't optimal.
TL;DR Stack Overflow provides private offices, but is really flexible, especially given its remote policy.
If I want some noise, I'll work from home (I have a 3-year old.)
The down side is that IBM's management has recently done a 180 on remote working and is now "strongly encouraging" me to move to one of their offices and work in a cubicle.
I'm pretty sure they won't actually fire me for not moving, but any promotion is probably going to be harder to come by until things (hopefully) swing back in the other direction.
Or I'll just retire. The benefit of living in Ohio is that I can save like 40% of my salary and still live comfortably. (And lease an office for $225/month!)
I discussed this a little in my "Notes on Distributed Teams" presentation here:
Here's how my personal home office looks:
(Shameless plug, here are the positions we're hiring for, if you're interested! https://news.ycombinator.com/item?id=14902227)
Immediately prior to this, as a junior member of a non-IT/IS-department rapid development group for a utility company, I was relegated to whatever cubicle they could find to stuff me in, usually on the periphery of the call center area. This is also where they'd stick the COBOL guys they'd had to hire back as consultants, along with others who didn't fit into any of the (many) union contract workflows.
(I was a listed as a line-item in the same cost code group as a rented photocopier or scanner, meaning that for most of my tenure there I had ZERO contact with anyone from HR. It was glorious.)
What's more important is company culture. Does your company expect you to accept interruptions at any time for any reason, no matter how trivial? Is your manager willing to run interference when suddenly every new employee in every department shows up expecting that you'll handhold them?
You can have an office with a bad company culture; you'll find that your office door is always full of lurkers, or you'll find that you can't walk between your office and the bathroom without getting mobbed with "urgent" requests that need your attention immediately.
What's more important is to ensure that management avoids distractions, that newcomers in other departments are trained, and that processes are established and followed when needed. Handholding should not be required from any engineers; instead mentoring and process refinement goes a lot further than a door that you can close.
On the other hand, its good to have open working areas available when they are appropriate. In Bell Labs, we'd often congregate near the railings overlooking the Holmdel atrium while our build finished or downstairs in the large open seating areas.
Is it as simple as that or there's more to it?
It is working well. People mostly are heads down getting their work done. So add Windward Studios to the list where all developers get offices.
My first team started off two-to-an-office (unless you had something like 5 or 6 years of seniority, in which case you'd get your own office), but they moved to open offices when their building got remodeled.
In other words, not this fuckin' nightmare...http://workdesign.com/wp-content/uploads/2016/06/Open-plan-o......but more like a range going from this...https://media.glassdoor.com/l/ce/49/d7/6c/intel-office.jpg...to this...http://media.glassdoor.com/m/2d/0e/af/40/desk-with-a-view.jp......and even this...https://media.glassdoor.com/l/17/25/41/7c/intel-office.jpg
Oddly, I had my own office when I was working in IT at 17, but now it's harder to find.
I'll report back what they say.
I just recently was working in an open office and the difference between daytime and evening (after everyone else left) was dramatic.
Now this: https://www.bizjournals.com/sanjose/news/2017/08/08/apple-pa..."Apple staffers reportedly rebelling against open office plan at new $5 billion HQ"
Glad I wasn't the only coder there who utterly despised the move to the open office design.
PS: Seriously, free coffee is more important to me than an office. I like open working environments.
DDG is excellent for programming questions/how-tos. It shows popular StackOverflow questions inline. For Python, it shows Python/NumPy/SciPy documentation inline as well. It may do this for other languages, but I have not witnessed it.
DDG also has a great inline weather "app" using DarkSky (which is an underrated weather site, IMO). Searching for businesses/restaurants shows a mini map ala OpenStreetMap (or other providers if you choose) and business information from Yelp.
DDG also has a community-driven program to add more search features, called DuckDuckHack. I believe all (at least most) of the features I shared above came through that program. A list of all "Instant Answers" can be found here.
Need to fallback to Google? (I personally never have.) There's "bangs" for alternative search engines and popular sites.
Make the switch. You'll be pleasantly surprised how easy and refreshing it will be.
At the moment I'd venture it's about a 60/40 split with DuckDuckGo staying on top across all types of searches.
This isn't a case where I _know_ I only want 2017 results, and so I do the syntax to filter it down automatically. I want all results, but I want to be aware of the timeline of whatever I'm going to click.
1. Put duck duck go as the default browser on your phone
2. Learn the bang paths. Realize that you still may have to fall back to google .
3. Once you have mastered the bang paths start targeting your search queries
4. Realize you cant live without bang paths
5. You should now be motivated to use duck duck go exclusively .
DDG instant answer are excellent, especially for programming.
In work I sometimes use a shared computer in which the default search engine is Google and get annoyed by the badness of Google with providing good instant programming answers.
Still, Google has some pros:- I find it a bit faster to load. - Hebrew results are much better. - Picture results are better. - You can search similar pictures to the ones you have (chrome extension)
Recently I also find myself going straight to YouTube to search certain things...
1. search (via the browser's URL/search field)
3. press L to return keyboard focus to the browser URL/search field
4. press to move the cursor to the beginning of the text
5. enter "!g" and then to re-execute the search using Google
I really do like the idea of a non-creepy search engine. I periodically give DDG another chance. But even more, apparently, I like finding pages and blog posts responsive to my search.
(EDIT: Wow, I learned from this thread that step 4 isn't necessary; the !g can go at the end of the search query. :-D Still doesn't really change anything, though.)
So I've installed this extension below for Safari. I use the !bangs in the address bar if I want to go somewhere specific -- !so (stackoverflow), !a (amazon), !y (stock quotes). And, otherwise, it just uses Google search.
"Shoot, I need the docs for the user Ansible module"
> !ansible user
And it goes straight to the page.
I typically give DDG the first try on a search then I turn to Google/Startpage if I don't get good results. It's been getting way better over time.
The only big change is that now every now and then I would double check the search results with !g if I am not happy with DDG results.
Overall I would say DDG or Google is more about habits and comfort zone than anythting else and Google gives better search results mostly because of the search bubble.
Give it a go, takes a little time before you feel comfortable being away from Google's excellent search engine but I got fedup seeing adverts for things I'd previously browsed on other sites, so adios Google.
my only question though is, why are these bangs so special when google does the same thing with `ebay.com: motorcycle`. Is it mainly the fact that DDG provides more privacy?
Not the kind of person I want running my "privacy focused crypto anarchist" search engine.
The map integration almost never works. I only see a map if I search for a city name but never when I enter any address. I sometimes try to add "maps" as a keyword, which results in google maps being the first result - but it almost always links to a wrong street! (usually in the center of the city, the street number is the one I entered though)
Commit to switching for a couple weeks and you'll find that you rely on Google less and less.
It really helps that I can just stick !g at the front of my query if I think Google might have better results (which it usually does not).
For programming tasks, I think my productivity is a lot higher than it would be had I stuck with Google. DDG's "zero-click answers" are awesome, and are frequently just Stack Overflow answers. Google has tried to do this, too, but I've found it to be a lot less useful.
I find this very annoying. After years (decades!) of training, my eyes know exactly how far one keypress should scroll. Stop messing with the default scrolling mechanism!
I think this is could be a good way to help pay more attention to what you're searching for and results because now that I think about Google searching can be really assumptive and get-the-answer-and-leave at times. Maybe digging deeper than top Y results can be a better learning experience.
* Switched from Google Search to DDG or Startpage.com (which is basically a google proxy)
* Moving off Gmail and switching to Yandex.Mail.
I really like the !bangs and the instant answers are good enough. I can find, anythings I looking for, using DDG just as fast (if not faster) as I would using Google.
I only got a very small decrease in productivity at first, but I went back to normal pretty quick. So I'd say it went better than expected.
On the occasions that it isn't I either append !g, !s, or !sho to redirect the query to Google, Startpage, or SymbolHound, respectively. There are thousands more and they're huge productivity boosters (!w for wikipedia gets used a lot).
I recently did a few queries where I didn't find anything so I tried google and it got the same irrelevant results (as a category, not the same pages)
A friend of mine is using DDG and whenever I'm over and we search for something on DDG, what we were searching for doesn't show up. Maybe it's Murphy's law, but I'm always mocking him with "search for it on Google" and that usually delivers the result we were looking for.
But the rest of the time I use DDG, and I use DDG before trying something else.
I like that Google has like 11 years of my search history saved and can deliver me relevant results. And I don't have to pay anything!
What's there to not like about that?
Left to go to a 9 person company full of hot shot DevOps engineers, couldn't have been more happy to be the dumbest person in the room everyday. I learn so much I feel like I should be giving up extra salary to cover all the education I'm getting.
I liked working at Oracle, but am so glad I made the move. At the end of the day, lots of respect and admiration, even at a huge company like Oracle, don't really mean a lot. I used to tell my girlfriend that I worked 80 hours a week even if I did nothing. 25 hours of work at work + 25 hours of studying at home to make up for what I wasn't learning + 30 hours of guilt for working at a place where I wasn't learning anymore.
However, it doesn't sound like there is much if any financial risk for you here. I assume "Google" is going to match or bump your salary, and bigcos are certainly stable employers. So you're looking to give up freedom in an environment you can't really do what you want to take less freedom in an environment where you can do what you want? Seems like a no brainer.
In fact, my current situation has become somewhat similar to yours, and I wonder if I should make a change again. You write:
> which is very likely what I would experience at this "Google" environment
I would say to be very careful you've done your due diligence on this in the interview and don't just blindly assume it. I have friends at top tech companies that have had a mix of experiences.
Being the dumbest guy in the room, and knowing so is probably good for you in the long run.
The key questions you should be asking yourself is whether you're ready to withstand the stress of being "the dumbest guy in the room" (it's hard on the ego, to say the least), whether you're willing to make the commitment to learn an enormous amount of material in a relatively small amount of time, and whether you can come up to speed with the people in your new environment fast enough to avoid being penalized or even potentially laid off (having a financial cushion or some other backup plan in case things don't work out would probably be a good idea).
However, keep in mind that "Google" or other massive companies are not a magic wonderland of The Best Engineers Ever. It's a very large number of software engineers, many of them quite good, many them of amazing, many of them just average. So it will depend on your team, still.
You will definitely do better than "we outsourced to the cheapest people we can find" though, and when you get bored again it's much easier to move sideways inside a large company. So it seems like a reasonable plan.
Whilst having a poor reference isn't great, many people in tech understand toxic workplaces. Sadly, we've all been there. For a new job, I don't think it's good to dwell too much on negative past experience, but it's possible to frame it up in a way people will get.
It's never been a better time to be a software engineer. Keep positive and show off the passion you mentioned.
Work history matters, but experience more so. It doesn't matter where you get the experience.
Basically look for employers that respect execution, execute, and you will not have a problem.
You can also try doing something for yourself, but if you are concerned about income you probably don't have the financial means yet to risk losing on a failed venture, so just keep it as a back pocket option for the future.
GitHub is good. Make a habit of making your work public. Go to meet ups and talk to people directly: job interview is not the only way to get a job.
Use your writing and your code as your cv. It's better than any other cv.
Don't fixate in this idea that if you don't have a degree then you're not worth a damn . If you were a doctor I'd say , yeah ok. But programming is not that . If you could prove you could do open heart surgery more effectively than most surgeons then why wouldn't I let you operate on me? Such proof outstanding , doctors need degrees. Programmers have very solid proof outside the degree .
Don't give up. Going to be okay!
I've used and seen this approach used to both validate, grow and shut down projects.
Build a list of people. Should be your target audience, but if you can't do that, find people that are adjacent or gatekeepers. Ideally this would be ~10 people, but if it's 3, start there anyway.
Go with a specific question/ask. Interview them. Then get them to ask you questions back. Answer as honestly as you can ("I don't know" is fine, but follow up with your suggested process).
At the end, ask who else you should speak with. If you're on the right track, your network and opportunities will grow. If you're not, it'll shrink to nothing. Repeat.
For the last product, which I shut down due to lack of traction, the most valuable leads I received was when my product got featured in a newsletter without being asked. I had posted a comment on a Blog post which described a complicated GA setup to achieve something that my product could do without effort and the author forwarded it to his subscribers.
I think that sums it up quite well: look for people who have the same problem as you're solving and pitch them your product. Any other marketing effort: paid ads, blogging, events require too much investment and I don't think they should be recommended if you're bootstrapping a small product.
If there's a market for your product, there will be an alternative product for it. Like for me, I had a recipe app. My competitors were recipe blogs, Facebook pages, and groups. If you're building something SaaS, there might be a WordPress plugin doing the same thing.
Your product should be 10x better than the solution they hacked together. If no solution was hacked together, it's possible there's no market for it or that you haven't done enough research before building the product.
There might be some exceptions though, like a note taking app, where the competitor is a piece of paper with no community.
I wrote up a nice narrative a while back  on my two "first" products I built. The first "first" was on accident, and the second "first" was... kind of still on accident.
Posting in the https://news.ycombinator.com/show category (just add 'Show HN' to the front of the title) will get you more exposure. That's the category for app developers looking for feedback. https://news.ycombinator.com/showhn.html
For execs who are coming from a technical background - especially first-time CTOs or those who have previously worked on teams where other execs were technical or at least savvy - it can be challenging to learn to communicate about technical topics in a way that non-technical people understand. I'm not saying that this necessarily is you, just that it's a common problem, and an important one to rule out.
Even if you're explaining the situation in a way that the CEO can understand the concepts, you may not be explaining the urgency or the repercussions in a way that makes sense to him, or in terms of stakes he cares about. Alternatively, he may be the sort of person who thinks everything other than negotiating with VCs is below his pay grade and it's really [the COO|the office manager|the CEO's personal assistant] who runs the company and get things done.
Tactic 1) try wrapping up your conversations with something like "in short, we need to do X within Y timeframe or risk losing $Z. What I need from you is to get the Acme contract signed by Friday. Can I count on that?" Then follow up about it Thursday, Friday, and Monday.
Tactic 2) talk to people who have been there a while and try to (not too overtly) work out who it is that really gets things done around here, and how they make that happen.
Tactic 3) find someone who's hungry and has lots of potential and initiative, plus involvement in a broad subset of departments (in a startup, the office manager or a senior person in operations is often a good candidate) and empower them to be the person who facilitates interactions between people and departments, makes sure people have what they need to succeed, and Gets Things Done. So that you don't have to be that person, and can concentrate on your own job. Only do this if you're willing to invest a lot of energy in what's still likely to be a crash-and-burn situation. If it succeeds, this is a huge win for your career, but the chances of success are low.
If that doesn't work and there just plain aren't good people in the company, or everyone at the top is clueless or doesn't care, there's no win to be had here. Get out. Go work with sane people.
Have you been in a similar situation?
I did something akin to this for four years in my marriage (only substitute weekly screaming fights for staring). Then, we agreed to get divorced, at which point I was finally able to implement the plans we agreed to every week which he promptly sabotaged for four years.
Here's some questions to help you decide:
1. Does the CEO communicate down clear objectives for your role or are you having to make up your own? - if no this is a bad sign and they might have pulled a bait and switch on you. Ie you've been hired because someone has to run IT and your role is not thought of as a strategic necessity.
2. Do you have the same comms problem with all non technical staff? - if you do maybe it's you... or maybe th departments are very siloed and speak different languages. You know how corporate PR always comes off patronisingly simplistic. Ever wonder why?
3. Is the office full of "shruggers" (those for whom direction doesn't matter). - companies always have survival functions. if those that stay all have the same characteristics this gives you a strong clue about what the place is like.
4. What is it that you can't communicate? Is it structure and process? - if yes this is also a bad sign. There is a generic meta structure to every department and if you can't talk about pipelines, dependencies and projects then chance are he'll never understand you.
Given that you're not just a coder in a suit that doesn't know how to talk to the softer Cs and you find yourself surrounded by placid types and talking about the basics of processes is met with blank stares then I'd expect more of that for the foreseeable future.
Before you judge anyone, get a proper diagnosis. Arrange for one-on-ones with every member of the team, even the ones who have recently quit if you can.
Get them to honestly talk about their opinions. Especially on why they keep failing at their tasks. Make them comfortable, i.e. nobody is getting fired and you're just trying to fix things. Be open and honest with them. There are problems and you'd like their advice on how to handle them.
If everyone says everything is fine, get the hell out.
Otherwise, you should find a few patterns, and this should at least give you a few angles to move on.
That must be providing them with a financial cushion, must be the source of their indifference and the reason they are lackadaisical about what you want to change or get done.
Not in a work setup, but otherwise each time I have to deal with a customer service.
At a glance, the sort of thing this is doing is key frame animation of vector graphics primitives.
Vector graphics primitives tend to be simple geometric shapes (polygons) or curves (lines, arcs, bezier) that can be described using a small set data which are needed by an algorithm to draw that particular shape. For example, a triangle is described by its three corner vertices, and a circle by its center and radius. In this case, it appears that the circles may described by a set of bezier curves. This is different to raster graphics which describe an object as a set of pixels (a tile, or sprite), as was used for early video games. For display, vector graphics are rasterised from their mathematical description before they can be displayed on a screen.
Key frame animation is animation where an animation is described by a series of frames called key frames. The key frames are displayed in order at a specified time, with all other frames between key frames generated by some assortment of transformations or interpolations of the objects between frames. Key frame animation lends well to animations of vector graphics where the graphics primitives are described primarily using vectors, as vectors are easily manipulated using linear algebra, allowing an assortment of transformations and interpolations of primitives between frames.
A simple animation might work something like this:
1. Define key frame 1, containing 10 rectangles 2. Define key frame 2, containing 10 different rectangles 3. Define a one-to-one mapping of transitions between the rectangles in both frames 4. Specify a time interval for the transition from frame 1, to frame 2 5. At time t, interpolate/transform the corner vertices, and colours of the rectangles in frame 1 toward those in frame 2 proportional to t to create a new frame. 6. Rasterise the new frame to pixel data into a frame buffer for display.
I'd like to point out that some sysadmins are focused on linux internals while others focus on application in production. So, of course, the list may vary according to the position you're looking to be hired.
1. Troubleshooting and performance analysis. There is excellent site about performance: http://www.brendangregg.com/linuxperf.html I don't know a good resource on troubleshooting, but some tools are the same.
2. Problem can be anywhere including network so the next topic is networks. There is excellent book TCP/IP Illustrated old, but still relevant.
3. Sysadmin often spends a lot of time in a shell so it is good to know it very well (and common shell commands too).
Make your actions reversible (as far as possible). Had learned it in the field, later also saw it mentioned in a sysadmin book.
I can't count the number of times I've seen colleagues just blindly charge ahead and do, for example, non-trivial surgery (a.k.a. edits) on important system config files (in a haphazard, lets-see-if-this-works manner, without so much as making a backup copy of the file), which sometimes resulted in screwing up the system further, sometimes irrevocably (because, you guessed it, no backups - or no current ones, anyway). And yes, on production systems. Got a few stories about that, may mention them some other time.
Systems administration is a huge topic with so many interconnected parts and such vast variety of tools. Even breaking it down to segments can fall apart easily as nearly all topics overlap from user management, to filesystems, etc.
My only advice is this: Get a copy of "UNIX and Linux System Administration Handbook" and read the topics that you work on. It's a reference not something that you can read from cover to cover, but it's I own the 4th edition and it's depth is amazing. On 18 Aug there is the 5th edition coming out. Grab a copy.
My only issue is that I'd love to have *BSD included along Linux, Solaris and AIX (which is hard to find these days...).
- reacting to monitoring alerts and critical messages in logs. First you need to understand what given alert/message mean, and then goes troubleshooting if root cause is not obvious- improving monitoring system settings/thresholds/metrics (if there no separate teem for this)- deployment (but it often performed by developers)- upgrading OS and 3rd party software (if 3rd party software not deployed alongside own code)- performance tuning- learning software used in production (both: 3rd and written in the company)- writing numerous config files and ensuring that all settings adequate to given environment/system- if system is not entirely in cloud - replacing broken hardware and parts (HDD), usually using "remote hands" in datacenter.- managing ACLs / credentials for different systems, e.t.c.
- ssh: you need to know what that means and how to use it
- Difference between ftp and sftp
- cd, ls, pwd (directory stuff)
- scp and rsync (move files from server to server)
- find, cat, grep, sed, awk, head, tail (manipulations and discovery)
- chown, chmod (permissions)
- cp, mv, rm, rmdir, mkdir, touch
- Don't do rm -rf unless you know what you are doing
- Setup aliases on your shell. e.g. .profile file for bash etc.
- top, ps (check processes)
- sudo and su (switching users or running commands as root)
- Know various OS differences like CentOS vs Ubunut.
- Know where to find logs for web servers like Apache or nginx (e.g. /var/log/nginx in Ubuntu).
- Star/Stop services as needed
edit: Links for the lazy https://bit.ly/ScriptEdSFBAYvolunteer & https://scripted.org
Is their any other way I can contribute or help out?
Most of my clients are pre-rev/pre-money/broke, but the higher priced development work I do, offsets that.
I've also been dabbling in writing, and hiring writers to write for me.
BUT find a hobby that is outside of software development. I do hiking, photography, wood working, and writing. Maybe that will give you something to look forward to after work.
If you're looking specifically for new tech to explore - look into DL and data science, or WebAssembly, or WebVR, or ActivityPub. Those are all the hot exciting cool things that will be in demand, and are super interesting to look into.
I recommend trying to move to a position where you don't have to code much such as QA, CTO or system architect.
Lately just for fun I been working with unreal engine. You can do some really cool stuff quickly and customize in C++.
Now that VR is becoming in bigger and bigger might be marketable some day. That startup magicleap seems to be doing lot of stuff around this area.
Can pair unreal with houdini and do some python scripting / 3d math learning.
You have got me curious now lol.
Keep us posted mate, good luck!