Twitter being a high profile example, but lots of services timing out across the board as well. That may just be my ISP however.
I am impressed with Ubuntu on Windows. Some bugs, but overall I can see this working for me. Since I use Ubuntu in production, the Linux environment is closer to production than a Mac shell.
I have felt lately, though, that the Mac vs Windows vs Linux debate is getting less relevant with most things being in a web browser. The diminishing requirement for Windows around 5 years ago caused me to switch to Mac. And now back to Windows.
I can see myself buying a Mac again, though. Maybe even a Chromebook.
I stopped giving money to Apple when they started gluing batteries and soldering memories. That's just disrespectful both to the environment and to the end customer.
And no, my 2013 MBP still works just fine and probably will for years.
They dropped the quad-core and it was almost immediately unavailable.
Now, in all fairness this was because a quad-core with the newer CPU required a different motherboard to the dual-core, so this was an Intel/economies of scale issue.
However there is still no quad-core option available.
I got tired of waiting and put together a (much cheaper) Gentoo Linux box.
I was then looking at buying a MacBook Pro laptop, but couldn't see the point in paying a premium for older hardware. I bought a Chromebook Pixel instead.
I am not regretting either decision.
I bought the iPhone SE because I knew it would be the last iPhone with a headphone jack. I don't expect Apple to have a change of heart so no doubt when the time comes to replace my iPhone I will have to buy Android.
It's a shame. Apple used to care about users because it needed to look after them. That made good engineering a priority. Nowadays it believes in good marketing instead. And so for example we have ever thinner iPhones that mechanically flex and eventually cause screen issues if they don't just break outright.
With Apple you pay a premium price for a premium product. It's no longer a premium product - but it's still a premium price.
My late 2013 rMBP is still great, but I do admit I'm eyeing an XPS 15 (or similarly spec'ed machine) and putting Ubuntu on it. For the price of a 15" MBP, twice the RAM, touch screen, 4K display, etc seems quite appealing.
Apple is looking more and more like a megacorp as the Steve Jobs DNA fades away.
Windows 10 just doesn't appeal to me. And most new notebooks have various problems running Linux. Plus, the battery life on most notebooks sucks when compared to MBAs.
Pretty impressive results.
Is there a problem with going below 3fps?
Could you miss some vehicles or is it something else?
If you still have that quick and dirty python script, I'd like to see it if possible.
On the other hand, finding a next gig as freelance can be a royal pain in the ass unless you have a lot of connections, but if you do, having a queue of projects and working remotely is the ideal situation imo as long as you maintain a decent social life.
For full-time, you can just pick something either based on the size of the company or what they do.
Freelance/Consultant is lots of work keeping the pipeline full finding good clients.
If you haven't already I would work on leveling up your skills learning full stack web application development (Rails or Laravel) the rate/fees are better ($50 to $100+/hr) if you enjoy that kind of work the projects are more interesting too.
Keep leveling up.
Edit: Based on your website, it appears you are based in Uzbekistan. Is that correct? If so, what is the typical rate for Uzbeks at the same skillset and experience?
When I need inspiration I go read "How to Make Wealth".
During my day job where I'm required to study specifications, I found "The Feynman Technique" to be useful in understanding the subject quickly.
From time to time I also read "The Best of edw519: A Hacker News Top Contributor".
I just repeatedly read articles and posts that I like:
 - http://paulgraham.com/procrastination.html
 - http://paulgraham.com/wealth.html
 - http://calnewport.com/blog/2012/10/26/mastering-linear-algeb...
 - https://web.archive.org/web/20160304034949/http://v25media.s...
1964 - John Kemeny and Thomas Kurtz create BASIC, an unstructured programming language for non-computer scientists.
1965 - Kemeny and Kurtz go to 1964.
 - https://www.reddit.com/r/programming/comments/csuey/write_a_...
"If You Dont Design Your Career, Someone Else Will"
* Programming Sucks! Or at least, it ought to! 
* The Oracle Effect 
EDIT - formatting again
I don't think I've ever seen such an accurate, shrewd, and insightful collection of startup wisdom in one place before. Every bullet point in this list could be a book.
I don't want to do it the injustice of trying to summarize it. I've been reading this blog post for years, here and there.
William Deresiewicz "Solitude and Leadership"
The Last Psychiatrist: "How to Create: Motivation for 2010"
Alex Smith Gives Commencement Speech at Utah
This article describes how variations in intelligence has to do with parasite load and nutrition. May explain a lot of the lack of intellectuals and educated individuals in some countries.
It always reminds me that we are here to build software, not design the perfect system. The quote from Zawinski is great
"It was decisions like not using C++ and not using threads that made us ship the product on time."
Judging from similar projects I've pursued, writing code seems to be the easiest task these days.
Would you take out a loan to day trade? Startup stock isn't much different in terms of volatility and outcomes.
The goal of standardisation for C was in part to aid portability. That worked out to some degree. So thats the best place to start. The goal of POSIX was to standardize UNIX system interfaces across the various flavors. That worked out to some degree also. You also need to to get the interfaces for Windows, Linux and so forth because they all have various 'innovations' that have been created which are not adherent to any standard or portable.
At a minimum you should become familiar with the fallowing material.
* ISO/IEC 9899:1999 - ISO/IEC 9899:2011http://www.open-std.org/jtc1/sc22/wg14/
* POSIX.1-2008 / IEEE Std 1003.1http://pubs.opengroup.org/onlinepubs/9699919799/
* Linux system interfaceshttp://man7.org/linux/man-pages/
* Win API/Win32 APIhttps://msdn.microsoft.com/en-us/library/windows/desktop/ff8...
Thats a lot of reading. A good starting point for a project is to code to the C standard and one abstract interface that wraps your main target OS. Then port portions of the implamentation for your interface to the various systems you need to run on. In reality there are a lot of specific factors that you need to take into account to design your portability strategy.
Mesh networks are like the millimeter wave fairy. People want to believe in it, but it is not real.
Every time you transmit a radio packet there is a chance that it will interfere with a packet or be interfered with by another packet. Note there are two factors so interference goes as the square of the number of packets.
Want fast wifi?
Gave a wired router in your house and connect it with Ethernet to a wireless access point in the middle of the house. If your house is big, get more access points.
Wireless repeater add more hops, more latency, more interference. It is not necessarily true that adding nodes adds performance, often the opposite is true.
People today think wires are ritually unclean and they will suffer for unreliable and broken tech because of it.
Best article, which led me to action, is this http://www.mensjournal.com/magazine/everything-you-know-abou... together with the book The Power of Full Engagement https://www.amazon.com/gp/product/0743226755/ref=as_li_tl?ie...
And here are the guys I read regularly (on and off, actually):
Scott Sonnon: http://www.rmaxinternational.com/flowcoach/
Pavel Tsatsouline: http://www.strongfirst.com
Phil Maffetone: https://philmaffetone.com
the guys at GMB: https://gmb.io
and Leo Babauta: http://zenhabits.net
Importantly, the information is written and vetted by qualified medical professionals.
There's a lot of opinions, some based on facts and research, some based on empirical studies and some based on pure misinterpretation of actual science. You are better of paying a visit to a good nutritionist who can provide you with a tailored diet to suit your body and lifestyle.
Really though, you have to find what works for you personally. Take any idea - let's say you decide that you want to know if eating less red meat is good for you. You can read a hundred studies that have conflicting results. Or you can try eating less or none of it yourself and see how you feel. You feel great? Awesome. Now you know! You don't feel any different? Again, that's awesome. Now you know you need to eat a little more red meat.
One example for me was pull-ups (the exercise). I always assumed you had to do them overhand with a medium-wide grip. They never "clicked" with me and I could never feel good doing them. After 10+ years of doing them the same way, I finally saw a video where a guy explained how different people might need to use different grip styles to feel it best. I tried several of the different grips and found what works for me. No study or book would be able to tell me which grip style I should use. It was just something I had to learn for myself.
For something more science-based, check out examine.com. Anytime I read about a supplement or chemical that's supposed to be amazing, I go read examine.com and find out what the studies say.
Lots of good stuff on nutrition and training without BS.
- Some form of exercise that you do regularly
- Don't drink much
- Don't smoke
- Have meaningful relationships
This will get you most of the way towards good health.
They base their recommendations on real scientific articles.
Anyway following his advice has really helped me.
youtube for workout: athlean-x
joe rogan youtube channel <powerfuljre>, had on Rhonda Patrick (phd in biomedical science) for a few eps (3-4 hr each) talking about vitamins
if you buy vitamins you have to research the specific ingredient (cheap forms of magnesium, calcium, etc that don't get absorbed).
As for learning about health issues like diseases etc, I usually read reputable sources like mayo clinic or www.ncbi.nlm.nih.gov or www.nhs.uk. One of these is bound to answer my queries.
I am not an ultra runner or even a marathoner, I'm a wannabe alpinist. But the podcast is incredibly informative for anyone who is going to be under movement for more than 4 hours. I have learned more that has helped me in training and on hikes and climbs from this podcast than any other single resource.
If you're just starting out, getting a book on working out and eating healthy will get you 80% of the result for 20% the effort.
If you're already experienced, again it depends. Some people have already been mentioned like Tim Ferriss, Dr. Rhonda Patrick, Peter Attia, Dom D'Angostino and many more.
However you need to have the critical thinking to weed out what and how you could safely try some new theory. (say Intermittent Fasting or whatever new theory)
And I think after some time/experience you can go and pick up papers and judge them for yourself.
Care to be a little more specific? I enjoy frequenting /r/fitness and /r/running for their FAQ information which is helpful as well.
Getting into a routine is a big thing (and a thing I struggle with sometimes) with improving health and well-being (imo).
Well being is the job moral philosophy: https://www.amazon.com/Fundamentals-Ethics-Russ-Shafer-Landa...
You want all of these to be a habit. It's a journey.
Diet is all about focusing on nutrient density and hitting all your micronutrient targets (tracked with sites like Cronometer.com). (Rhonda Patrick is a useful resource in this realm, as is Examine.com)
Grains and fermented food for breakfast. Snack throughout the day on high fat veggies/lean meats/nuts. Dark leafy greens and protein for dinner. Eat at least two servings of fruit a day. Above all, if you have a craving, eat it, but reduce the quantity.
Well written, thorough, and most of all... actually evidence based!
For fields outside of computing, the best knowledge is still mostly stuck in book form.
Is there more to it?
Power of Now - Eckhart Tolle
7 Habits of Highly Effective People - Stephen R. Covey
More importantly, every Sunday morning I attend Mass at my local Roman Catholic church. The body and spirit both require regular attention.
(If you were hoping for links to sites so you can see it yourself, perhaps you should say that.)
Outdoors, yes, and especially the closeness to the sea and ocean. If you like boating or kayaking this is a huge plus, and you can also rent boats if you don't want to own one.
Housing market is crazy, you definitely have to buy an apartment and be willing to make a big investment in this, renting is basically not an option. The city also gets suburban and quiet very quickly as you move away from the inner parts, so if you want to live in a lively neighbourhood it's going to cost a lot.
Lifestyle is quite wholesome, punctuated and routine, and suits sporty people very well. On the social side swedes are reserved and private and the financial and social pressure to start a family is quite high.
Nightlife is a bit on the snobby and expensive side, with fancy restaurants and champagne.
The winter is dreadfully long and dark, and the summer is gorgeous. Many people go to Thailand in the winter and enjoy the beautiful archipelago outside Stockholm in the summer.
If you are a sporty person who enjoys boating, and/or wants to start a family, go for it. If you are looking for a fun place to stay for a shorter time and want to have a spontaneous social life, I wouldn't recommend it.
I moved here four years ago from Australia. The worst part about relocating here is finding housing. We ended up just buying our own apartment and that ended up being much cheaper and less stressful than continuing to rent. Other than that for me personally there hasn't been much to complain about. People tend to regard Stockholm as an expensive city. Coming from Western Australia I didn't feel that much of a difference. My salary isn't huge, but make enough after the hefty taxes to have spending money left over. Public infrastructure seems great, it is safe, bike paths everywhere. People _are_ reserved yes, but there are many Meetup groups where you can socialize. The nature is beautiful, and how close it is to more urban areas is a big plus. Very pet-friendly - pets are allowed on subways, in many stores, etc (although the level of veterinary care and approach here varies, but I could write an entire separate novel on that).
I would ask your potential employer if they can help line up housing for you for some time after you move - larger companies often help with that and have their own contacts.
Also the games industry is booming here. I don't know what it's like compared to your current EU country, maybe quite similar. But after having lived in Ukraine, the U.S., and Australia Sweden is definitely my favorite.
You won't make any friends among the natives. We'll have a beer with you after work but don't expect anything serious. None of my friends have foreign friends. Can't really say why this happens though. We are pretty reserved.
Nightlife is not snobbish as somebody else said. There is the whole range from dive bars to upscale to any kind of nightclub you can think of. It's similar to most bigger western cities. Also, I've noticed the variety and quality of restaurants are outstanding in Stockholm when comparing to most places I've been.
Stockholm is quite dynamic in terms of its start up culture. There are a number of ways to network within the industry, most prevalent way to do so is Sthlm Tech Meetup.
Salaries are relatively low for engineering jobs (compared to ex Germany), but should be ok in the software space. Ok in this case would be ~4000-4500k/month for a relatively experienced software engineer. Do note that tax levels are rather high once you reach higher levels of income (50%-55% marginal tax rate). The tax is a pain until you have kids and you pay almost nothing for daycare and schools.
The main thing to be aware of is that the housing market in Stockholm is completely crazy. It is very difficult to find somewhere to live. If you manage to get relocation support this should not become an issue for a while. Be ready to pay ridiculous money for second hand rentals (compared to salary)
I found it difficult to rent a flat, and I got the impression that this was fairly common. Be prepared to hunt through adverts, and respond as soon as you can after its published. If you leave it much more than a day, you'll probably get ignored. My Swedish colleagues told me that even if there's a phone number on the advert, don't ring it, email instead. And reply in Swedish - have someone translate your reply for you. But be prepared for lots of frustration when house-hunting.
In general, language wasn't an issue - although I knew no Swedish, everyone spoke excellent English. Not just work colleagues, but coffee-shop waiters, supermarket clerks, bar staff, pretty much everyone I met.
Financially, there were few surprises. Housing was expensive, just like any other major city. Alcohol's a little pricier (taxes), and you can only buy it in a chain of government-run shops, which have limited opening hoursyou can't just pop to the supermarket for a bottle of wine. As for the rest: coffee, eating out, groceries, were all on a par with western Europe prices.
Speaking of coffee, the culture of Fika is a great Swedish institution, and should be spread worldwide :-)
I love extremes of weather, so a very snowy winter and a gloriously hot summer were great for me, YMMV.
I ended up coming back to the UK, but some of my contracting colleagues from other parts of Europe decided to stay. They've since settled down in Stockholm, and easily found another project at the end of the contract.
Ericsson's taken a fairly hefty hit this year, and are planning another round of significant layoffs, which may have a short-term impact on the tech market around Stockholm.
If you enjoy the outdoors Stockholm has a lot of accessible nature just around the corner with large parks in central city as well as accessible and clean water ways as large parts of the city is located on islands. Within weekend trip range you have alpine skiing and wilderness in the northern parts of the country.
When it comes to job hunting there are a number of larger incumbents such as Ericsson that currently is struggling a bit. But there is also a number of larger "start-ups" such as Spotify, Klarna, King, iZettle, etc. These companies are very used to relocate new employees and have a structured process for everything from housing, to tax admin, even initial social activities.
- most of your friends will be other expats. Swedes, at least in Stockholm, do not seem very keen to open their social circle to you. Language is certainly a part of it, but there is a darker cultural side to it that neither myself or others have been able to crack.
- As others have said housing is a shit-show. Fortunately public transit is quick and makes long commutes tolerable.
- If you have a foreign-sounding name, then you will want to change it. Swedes love to play the multicultural card all over the place and virtue signal at every level, but facts are facts. Your CV/resume is passed over by recruiters and HR people if it not Swedish enough. Indian, Muslim, and African names go to the bottom of the pile or are never called. Seriously, take a Swedish name when you get here.
- Working in the tech sector, there is little incentive to learn Swedish. The amount of time it takes you to become proficient is not worth it. Worse, if you are dark-skinned and speak broken Swedish it only hurts you more socially and professionally. Best to keep it in English. Save Swedish for social things.
- Quality of life by many measures is high, but there is a depressive darkness here. Strangers don't chit-chat. I've never seen a subway car so full of people be so quiet. Everyone is silent, and that makes it incredibly lonely.
- Customer service sucks. I mean it is pitifully bad in Sweden. From restaurants to banks it seems that there is no training or appreciation for customers. This is where Americans really kick ass, and I wish Swedes could take a couple of notes here.
- There is no 24-hour culture. Strange that a place claims to be the capital of Scandinavia, but literally everything shuts down before midnight save a a couple of bars.
- Gypsies everywhere panhandling, but you are from EU -- so nothing new there.
- Drinking culture here is strange. People are absolutely hammered by 10pm
- The tech scene here is nascent and lacks the pay-it-forward attitude that you might find in the US, Berlin, or London. There is an American guy here named Tyler (@steepdecline) who has worked his ass off for 3+ years to make something happen. However, I fear that if/when he leaves, this scene will die. He might be a good resource to ping.
All in all, quality of life in Sweden is high (clean, healthcare, etc). However, there is a cultural darkness/sadness/loneliness that touches everything -- and I think Swedes would agree with me here.
Pretty much gives you roughly the things you asked above.
You can also post a question on their "Ask A Local" board, if you are up for more specifics...https://teleport.org/community/c/ask-a-local/stockholm/
vim, emacs, linux, windows, mac os x, nethack (plus a whole stack of programming languages like C).
NaCl crypto / libsodium
HTTP/2+ over QUIC over UDP
I've got a (paid) Google Drive account too and I'm considering using it for replication. Does anyone have an IFTT recipe to copy files between providers?
Forgot to add that I've got a free Dropbox account with old, unimportant stuff.
( even though it's encrypted, I still encrypt it on the cmd before pushing it into the cloud )
S3 for photos
Lesnaya Gazeta ("Forest Newspaper") - this was an old book that either my parents or grandparents had to stitch together countless times after it kept falling apart. It was in the format of newspaper articles and contained things like short stories and poems about nature, guides to identifying animal tracks, interesting tidbits about forest animals, etc. Most of my memories of it are from my grandparents' house and dacha, since I lived there until I was 5 and that's where it was given to me. My most early memory is getting up before everyone else in the morning and going out to sit on the couch and read this book. The first poem I ever learned was from this book - a long saga about a rabbit. I think it helped me develop a love and curiosity for animals and nature.
Narnia - the first series I have ever read, the Russian translation. I would lay in my bunk bed for entire weekends reading these stories. Only in recent years have I learned that people consider this to be a religious book. It was never presented to me that way and I didn't associate it with God or religion at all when I read it. I think this was the first "real" fantasy story I read and it inspired me to keep devouring more fantasy books over the years.
Both Lesnaya Gazeta and Narnia kindled a type of curiosity and fascination of the world in me that I don't think will ever go away.
The Ship who Searched by Anne McCaffrey and Mercedes Lackey introduced me to the stock market.
"October Sky" (Homer Hickam) - OK, I originally watched this as a movie and only read the book it's based on recently; but the movie was incredibly inspiring to me.
Side note: you can also contribute to this list.
https://www.privacyrights.org and https://www.epic.org you'll find many informations in both sites.
Two blogs I follow are https://paulbernal.wordpress.com and http://theprivacyblog.com
La quadrature du Net are amazing, it's a non profit fighting for net neutrality. They're pretty huge and very active
EDIT : I actually just discovered that the website is also translated in english :
There are a few links to his articles (Right side of the 3-column thing + bottom of the 3-column thing).
I wanted to implement a generic MUC protocol bridge. Kinda like https://sameroom.io/ is doing, but open source.
My initial approach was to look at Matterbridge (a mattermost<->irc bridge) and go from there. But I simply don't have time to do it anymore. The author is interested by the approach though so ... have at it:
I'm also the author of https://github.com/jleclanche/django-push-notifications and I don't use it anymore, but it's a very popular django app. If someone around here is using it and wants to maintain it (or part of it), please reach out - I tried handing it off to Jazzband but that doesn't seem to be happening.
Some examples of such boards:
It'd be willing to hand it to someone (on partnership basis) who could maintain it and grow it.
Stack is Linode/Ubuntu/Python/Django/Sass.
If someone wants to take this over, I'd be happy to entertain any offer. The app itself is exceedingly simple (a database-less Node.js app), so hosting costs practically nothing.
I won't have very much time to continue the development.
hit me up at firstname.lastname@example.org
- Really Funny Fish Aquarium is a game where kids click on moving fish, who make funny noises and movements 
- Fun Kids Activities is an app where me and my wife used to post one activity you can do with kids every day with a notification but it turned out it to be quite time consuming for us so we just listed all activities and removed the notifications. 
If anyone interested to buy, please contact me. Email is in my profile.
The main reason I plan to sell is because marketing it is too hard (I am developer).
Web IDE for GNU Octave (open source Matlab alternative). Originally built it because Octave had no UI and installation was a pain. It was heavily used by Machine Learning Coursera students and currently just pays for its hosting.
I'm sure it could be useful in niche academia market, but don't have time/connections to pivot. NodeJS/React/PostgreSQL/websockets. Email address on the home page.
I dont have time to continue with this:
Cool thing is that I've made an API to take on orders.
If anyone's interested (even in the domain name) I can sell it to you at a minimal cost.
[GlowSo Web App](http://gcdc2013-glowso.appspot.com/#/home)
[A talk I'd done for GDG Tunisia about how I developed it](https://www.youtube.com/watch?v=CBwOuK9x5VQ)
The problem is, I don't use Firefox anymore, so I'm looking for a new maintainer.
I may not be able to keep going on it though because of constraints on time and resources. Would be happy to talk to anyone who'd like to partner on this (or ideas about how I can at least handle hosting bills for such a large DB!). firasd at gmail.
It needs a lot of work done, I only got a few clients. I really don't know what to do with it... suggestions?
We hosted one conference i.e Apple's WWDC.
After an initial successful post on the indieheads subreddit, it's slowed down to about 15 users per day.
I also had people writing album reviews and they kinda got bored by it so it's been a while since the last review.
If this is a project people would be interested in (built in python / flask), I'll throw it up on github.
Unfortunately time doesn't permit me to move them forward.
epynonymous at outlook dot com for more details.
Nowadays I'm too busy to keep up with development so if anyone wants to help out that would be great.
Just abandoned it. I couldn't come up with a good way to monetize it, so I opened it up to be free.
i think its ready to get adopted :)
The system needs changes (in frontend, backend, sysadmin). It is pretty much the same as in 2002.
every now and then i do some maintenence but... you know.
Built it a couple of years ago but lost interest. Still used by 100+ users per day. Ping me at Contact@phrase.it
As my focus shifted, I plan sell it.
Note, this is a commercial product, customers include Airbus, and everyone else.
Mostly pirated, you'll have to figure that one out.
Asking $125K or $500K for everything.
If it meets the guidelines, this might make a good 'Show HN'. Guidelines: https://news.ycombinator.com/showhn.html
For number three, I think the best way to foster diversity is to practice it. That way it's not empty words, or a checklist item that can be discarded or ignored. By practicing it, I mean value people, value their perspectives and make a conscious decision to include the people and their ideas in your understanding of the company. I think this is difficult as we battle our egos in the context of opposing or competing ideas or perspectives. However, this approach only enriches our understanding, which actually improves our own value to an organization.
If I may suggest a number 4, what about including, "Is diversity a priority, why or why not?"
FWIW it's a common symptom of too busy a manager. Most managers are too busy, btw.
What's happening is that the CEO is probably thinking something "I need to take some time to itemize this task so he can work faster" but doing so is lower priority than that day's urgent fire.
> How can I make the most of this experience and provide as much value to the company as possible?
The best way to provide value to the company in your situation also happens to be the one where you'll make the very most of the experience: manage yourself to the point of being nearly or entirely autonomous. Examples:
The task itself is vague or unclear? Expand a bit on what you feel the task is, what it's for, etc. in writing, and submit that for review.
Next steps are vague or unclear? Expand on the DoD (Definition of Done), itemize the way forward, and submit those for review.
Does the usefulness of this/that new feature sound fishy? Ask about it. Not satisfied with the answer? Ask if they don't mind you getting in a Hangout with a few end-users to validate the idea's merit? Assuming they accept, then do so and report on your findings.
Every little step where they don't need to think for you is a step where you'll learn more and where you'll make yourself more useful. Have the company's end-goals in mind at all stages, take initiative, put things in writing (this is crucial for remote work), and you'll do fine.
1) The biggest one that jumps out is having an intern working remotely. First, I am surprised your school would even allow this to happen. To be honest, this almost sounds like a favor from an alumni CEO to the school and he/she could really care less about having an intern. Internships are supposed to be learning experiences. You should be immersed in an environment to give you experience. In another post, you said something about the company is in Silicon Valley and you are in the midwest and that you can't spend any time with them. To be blunt, that is a lame excuse. You should ask them to fly you out, or even cover your own travel expenses if they won't, to even spend a day with the team. Meet them, work with them in person.
2) Most startups themselves don't always have a clear path and they still may be working on defining the tasks that need to be done. Are you the only one working remotely? If not, you should see if you can be involved in their meetings. See what they are working on, how their tasks are defined, and what their deliverables are. Find ways to work with them or emulate their delivery process. If you are the only one working remotely, the company probably could care less about you as an intern. I don't mean that rudely, just that they look at it as they will give you a project, if you get some done great, if not oh well nothing lost.
Having worked remotely for a number of years, and having run a startup, I think this is the root cause of your issue. You're not going to get well defined requirements because the definition of "well defined" varies from person to person, and because startups generally don't plan features in great detail (tbh, as a rule established businesses don't either).
If you want to make a bigger impact, start being more proactive in asking what features need to do in order to be accepted. If you don't know something, think about it, then write a clear document that sets out what you think you need to do and points to specific things that you need clarification about. That's what I'd expect any developer to do, regardless of whether they're an intern or an experienced lead developer. The key thing no one in a business is simply there to execute instructions. You have to think for yourself.
tl;dr If you don't know what you're supposed to be building there's no way you can build a thing that works, so think through the problem and ask good questions.
Turning vaguely defined task into something tangible is usually the most difficult, and most important part of the task, but it requires some experience.
In the beginning you need to learn the internal know-how, and this requires regular prompt answers. Otherwise, you will stay blocked and frustrated most of the time.
Remote work is fine when you already know the domain, but that's not really what intern programs are for.
That said, you can try to write design docs where you put your questions. Note that it's not really about writing a specification, but about writing down what you know and what you don't. You can speculate about answers to your questions, and this way make your manager understand what you're missing.
So the question of how to be successful should be whether or not you can do something positive, showcase your skills and learn about industry at the same time. If you even get a hint that it's about you producing value to the team, I would consider moving on (given what else you have said). There is no point in being set up for failure.
Most of the time with interns, I have to scramble to try to find some vague connection with what we are doing. The intern will feel bad if they realise that they are doing a make work project. In reality, though, it's all about the intern. Especially with talented interns, we just want to make the experience really positive and don't care at all what they do.
Self direction is the key here. All you really need is the outcome desired and the 'why?' - these should enable you to start and hopefully feel you are making an impact. Take it as an unbelievable opportunity, you're basically being given a project to go wild with, manage yourself and make your own decisions. Things might fail, it might take longer than they thought - but as many others have mentioned communication is the key!!! Write out YOUR plan, tell them what you're gonna do, give them an idea of time of the first few parts - and be realistic and transparent. This is pretty much all they can ask of you. Have fun and learn :)
Communicate more frequently. If youre not sure what to do, ask someone. If they dont know, ask someone else. You certainly dont want to bother people every 5 minutes, but if youre stuck for hours each day thats not good for anyone.
If possible, get them to tell you the most basic subset of functionality you can build at first. Build that. Take it to them and see what they think. That will probably give them a far better idea of what they want.
As a junior, remote employee you're not in a position to significantly effect the outcome of the business.
Many companies also don't know how to communicate with remote employees well. Not replying to emails.
So... try your best to engage with company and observe how the company works. Learn the warning signs, learn what issues they face. These should all be hugely useful lessons.
But don't expect the company not to be a train wreak or to be massively successful. Those things are quite rare.
i) Write down exactly what you think the task might entail and email the CEO / manager. If you're off the mark, you'll get corrected. If you're on the right track, you'll get the go-ahead. Either way, you'll have a clear path forward.
ii) YMMV vary with this because of the different job roles, but I'll often just figure out a good solution to the problem, implement it, and see what happens. In my experience, tasks are ill-defined and vague because the manager has only an ill-defined and vague idea of what they need. In solving the problem, you do the thinking and clarification so the manager doesn't have to.
Hopefully, you're at least getting paid.
Anyway, the big lessons here are that most people ignore remote workers because managing them is significantly more work than when co-located and perhaps more importantly, the most important aspect of developing a career is meeting people and getting to know them.
You might also consider getting a mentor within the company. This is how we do it at $employer; you report to a manager, but your tasks and assistance come from a single mentor whose purpose during your tenure is to guide you towards completing your assigned project.
Have you been given a large but attainable project, or are they expecting you to just fix bugs and the like?
Imagine yourself as a part time employee rather than an intern. Imagine if you don't figure out how to impress, you'll be fired. (As an intern you're basically fire-proof.) This means that you need to become more autonomous and take the initiative. If something is unclear, creatively interpret it into something that is clear, and work on that. Make some progress, or write up the more concrete version, and get feedback. While waiting for feedback make more progress. If you are blocked, ping other people on the team to see if you can help them out with anything, or if nothing else find bugs, fix bugs, and/or write test code. There is always stuff to do.
You mentioned an example task "tell whether a picture is of a bird", if that's all I had to go on then I'd search for a few online image classification service providers and write a shell script or whatever to send the picture to them and report back. Done. When showing the implementation or the write-up in review, if there's something that the CEO doesn't like about the solution (he wanted you to do it by hand, or wanted you to use a particular machine learning or computer vision toolkit, or integrated with a web api, or wanted you to go out and take a bunch of reference pictures to train a neural net on...) then his complaints will make what he originally wanted more clear. Repeat.
For the remote aspect in particular, schedule a daily (or at the very least every other day) one-on-one meeting over Hangouts or Skype with the CEO. Time box it to 15 minutes though 30 might not be bad either. If the CEO can't make these, ask him to find someone who can and who will effectively become your new supervisor. You want these meetings to first be about any concerns you want to raise (like feeling directionless, or that some deadline is too hard for the vagueness of the task) and second about your general activities of the previous and coming day so people are in the loop with what you're up to. Also encourage the whole team to get on irc/hipchat/slack/matrix in an all-team channel. Assuming the company consists of more than just you and the CEO, it's crucial you have contact with some portion of the rest of the team, and be able to ping them in real time to ask "can we jump on a hangout meeting real quick to discuss x / share my screen and look at y?"
Something seems awry.
After 1.25 years, I realized that I was spending all my life in a lab with no windows, to the smell of toxic soldering fumes, fighting against extremely annoying software (altium & other proprietary overpriced pieces of technical debt). Also, I realized whatever I created needed a lot of work for an unsatisfying outcome (A sound amplifier is less satisfying than some webgl stuff that moves [but it requires a lot more work]). The nice feeling of being powerful when writing software & the instant compiler/interpreter feedback is what I missed the most.
At least, when you are a software engineer, you have more odds of finding a nice workplace, with windows and software you can choose.
The part I miss from electrical engineering is the physics part (But we were only skimming this part anyway).
Finally, circuits are a thousand times less satisfying to me than code. I've seen people for whom it was the opposite. They did not get programming at all, but they were designing circuits at the speed of light with an intuition that I did not have.
I made analog designs, digital designs, power supply designs... Then I started feeling more and more that I designed less and spent more time learning what the chip designers did, as chips incorporated more and more functions that once I did by myself.
So at the end I switched to FPGA design and today my typical workday is coding, debugging, simulating... 95% of the time on my computer. A good friend of mine coined a good phrase: FPGA engineers are SW engineers that disguise themselves as HW engineers. A good joke. But every joke has a bit of truth in it.
A design engineer tends to have a batch-oriented life. Typical workflow might be like CAD -> sim -> layout -> debug -> small scale production -> testing -> handoff to production. Of course all of this is as a member of a larger team. Somewhere in there you'll either work on software or firmware or both. I spend about half my time in the lab or field, the rest in my office or meetings.
One bad side of EE is that you can break stuff much differently from software. When the magic smoke comes out, there's no 'svn revert' - you have to figure out what you broke and fix it before you can move on. This always happens when you're in a rush and causes plenty of unplanned late nights. And for additional fun, it's not uncommon for problems to crop up where you just have no way to get at the underlying issue. Datasheets don't have all the info you need, and you can't always figure it out. Sometimes you hit a wall and just have to start over. I used an Atmel processor which had a weird bug in its I2C slave module which prevented it from working properly. Best solution ended up being to go to a different processor, which was incredibly painful.
It's really awesome to be able to hold on to a thing that you built and make it go. Seeing your thing go out in the field and work is very rewarding.
Generally, "embedded systems" implies some programming as well, but I do little to none of that. I think I'm the exception rather than the rule in that sense.
If you wanna get simplistic about it, I spend half my time playing "connect the dots" in overpriced software, and the other half arguing with people about where I decided to put the lines.
On the one hand, there's a lot more standardization in the components I string together to make a working system. On the other hand, it can be just as hard to track down the source of a problem. You happen to have caught me at a point where I'm stuck trying to figure out the proper answer to a mysterious boot issue, and let me tell you what - it's about as frustrating as frustrating gets. You have to push yourself to think hard about what you haven't done, even when you've done everything by the book. ("The book" in this context is documentation, design guides, processor reference manuals - things that tell you what to do to get your system working.)
Point I'm trying to illustrate - don't think that hardware is any easier than software. It's very, very gratifying to see something real, that you can hold in your hands, work. Doubly so when people actually use your stuff and tell you how much they love it. (Yay, consumer electronics!)
- Work on Schematics and layout for various different boards (usually only get time for one each day). - Go to meetings with multiple different engineering teams to make sure that cross-functional requirements are being met (usually the software and mechanical guys making demands of what they need which just means what they want to make their life easier by making the EE's suffer). - troubleshoot issues on the already built hardware and add the fixes to upcoming revisions. - Argue with purchasing department about the reason I need to get a certain type of testing equipment.
-A lot of component research and validation and meetings with vendors to determine if that components is right one.
and this is just the pure hardware tasks. There is always potential to have to deal with firmware issues as well.
I may spent half my day at my desk, at least an hour or two in a lab and the rest is for meetings.
The hardware job seemed more like "real" engineering -- it was more rigorous, there was less room for error or experimenting. But, I got bored with it eventually -- it was the same thing, just a bigger chip, more people working on it, and a longer design cycle from one thing to the next. Also, it seemed like upward mobility was hard -- I didn't want to be a middle manager anyway, and it felt hard to have a large influence in a company with thousands of engineers. In the end, I felt I didn't want to die at that desk, so I switched into working for internet startups.
The software end of things has felt more creative and has definitely been more fun. It's more laid-back, people are generally a little more interesting and well-rounded, and you typically work at a place 2-4 years and then move onto something new -- which I like. You're generally working in smaller teams and you get to work on a variety of different pieces of the system if that's what you like to do.
All in all, they were both rewarding experiences with good compensation -- the software thing might end up being more lucrative in the end and I just sorta have more fun doing it. At the time I made the switch, I took a pretty large pay cut going from a mid-level hardware engineer to a junior software engineer, but it's one of the best decisions I ever made looking back.
Why hasn't someone made good software for EEs to use? And if the have, why do no EEs use it?
But as others have said, EE jobs run the gamut. Depending on where you go to school and what emphasis you choose, you could be doing digital IC design (which contains multitudes within itself, e.g. high-level architecture, clock trees, verification, integration), analog IC design, RFIC design, board-level RF, chip package design, embedded systems, power electronics, antennas, FPGA, HDL/IP cores, test engineering, digital signal processing, control theory, communications systems -- the list goes on and on.
And when that is not the case, when hardware is going to be built, the decisions about circuitry and methods are increasingly determined in advance with software.
Here's an example -- in my career as an electrical engineer (30 years ago) I designed any number of phase locked loops in circuitry. Now I design them with a keyboard and a computer monitor, [using methods like this](http://arachnoid.com/phase_locked_loop/). The new PLLs work much, much better than the hardware-based ones, as well as requiring far less guesswork and effort.
So my advice is not to abandon a software-based approach, it increases your employability compared to someone who only knows hardware.
When I joined the company, the very first role I was put in was on the core bringup team for a complex ASIC -- that is to say, the team responsible for screening chips, and working on issues that affect all of the individual functional blocks. I joined about a month or two before silicon was to come back. So, I spent the first six or eight months or so at the company in the lab; the first month was spent familiarizing myself with the tools and boards that we'd be using, and then once silicon came back, I spent a bunch of long nights and weekends in the lab getting chips to various teams, and, in general, solving whatever system-wide problems showed up. Bringup was a lot of work but it was also a really good view into "how the sausage was made", so to speak.
After bringup, I moved to an IP team , where my title was "ASIC Engineer". At the phase in the project that we were in, most of the RTL  had already been written, and owners for each sub-block had already been assigned. So my job was to do a bunch of the "checklist" items for netlist quality. For instance, I spent a while reviewing test coverage, and waiving coverage for things that couldn't possibly ever be reached. Or I reviewed tool output that did "clock domain crossing verification" -- basically, the tool pattern-matched on various chunks of code to make sure that they were safe. And yes, I spent some time staring at waveforms, trying to debug our testbench, or any kinds of such things.
I spent a while on another couple bringups, which I volunteered for this time. I enjoyed them, and then gave myself some time off for each to compensate myself for my nights and weekends.
At some point, someone decided that I was a better architect than engineer, which is probably for the better, because I was very slow at checklist items. So at some point I switched to an architect role, which meant that I was responsible for doing the definitions of sub-units, rather than implementing the hardware for them or implementing the testbenches for them. And, in general, the whole specification process is part of the architecture team's job. So, one day, when there was an output quality problem with our block -- it worked as specified, but given that it did some image processing, the image quality had some defect, so the specification was wrong -- I was tasked with spending a few weeks to reproduce it on hardware, find register settings that made it better or worse, and finally, understand what the defect was in the specification, and how to avoid it in the future.
Another task I had as an architect was to do the definition for a sub-unit from the ground up. This was a year or two of work. My primary output, interestingly, was not code, but instead a 100-or-so page Word document that specified how the block was to work, and what registers should program it; the consumers of that document would be the hardware team that implemented it, and the software team that would build the software. And, subsequently, I was tasked with implementing a model of that block in C, which could be checked against the RTL that the design team wrote. Near the end of that project, I wrote validation tests for it, and yes, I then spent some time staring at waveforms helping the design team to understand why their RTL implementation diverged from my C model. (They were, often, right. I am very lucky to work with an extremely skilled RTL team.)
These days, I'm doing more algorithmic research, trying to figure out what should be next for the block that I'm working on. In parallel, I sometimes get on phone calls with, for instance, image sensor vendors, understanding on an electrical level what's going on inside of their next sensors, and how they will be transmitting data back to our processor. So even though I work in the digital domain a lot of the time, having a firm grounding in 'is it possible to wire this to this' has gone a long way to help out, and being handy with a soldering iron has made my life a lot better on more than one occasion.
My experience spans some gamut, but not all of it. I don't work on place-and-route, and I don't work on board design (at work, at least). There are a lot of things that electrical engineers do :-)
Hope this helps. (I can answer questions, I suppose, if you like.)
 For some reason, the semiconductor industry calls functional blocks IPs -- yes, as in 'intellectual property'. This particular IP was not something that we licensed to anyone, or that we licensed from anyone; the only 'customer' of this IP was our own chip team.
 Again, another acronym whose expansion ("Register Transfer Level") is not super descriptive. Essentially, source code. Usually in Verilog, or an even higher level language. EEs seem to love Perl and Tcl, so most places I've worked have had Perl or Tcl preprocessors before their Verilog. Ugh.
EEs also study computer architecture and OS internals in detail, depending on one's emphasis.
I'd say my EEs spend 50% in design and 50% in debugging customer problems when a board fails in manufacturing or fails in the field.
The answers can be easy (say, a resistor is out of tolerance or the wrong oscillator was placed on the board), or they can be really tough (a transient is killing a FET and locking things up).
Software engineers usually have to take quite a few courses in calculus, linear algebra, and stats. But that stuff very rarely comes up in practice, at least in most subfields.
I spend 25% of the time talking about requirements to other engineers, 50% comparing components to use with datasheets, 12% in Altium Designer and 12% buying components and PCBs.
Huge pain #1: the unbelievably slow process of manufacturing PCBs. Imagine that you were back in the old days of computing where you had to use punch cards with machine code and you had to give your stack of punch cards (your "program) to the punch card operator. He would run it overnight and you would get your results the next day. If your program failed, then you have to meticulously comb through it and debug in your head. This is modern-day PCBs. Holes in a board that take forever to make. Then you have to pay $80 shipping to get them next day or you can pay your engineers to sit around doing nothing. And the PCB might not even work. Learning feedback loop is very slow.
If you want to do anything remotely interesting like via-in-pad or four-layer boards, first you have to wait at least 24 hours for a custom quote. Half of PCB vendors dont just give you the formula to make your own quote. Then you have to pay either $1000 and 2 days or $200 and 2 weeks to have 5 copies of your design.
Huge pain #2: reinventing the wheel. When I open a datasheet, I have to read about the device. The pins, the maximum ratings, the application note gotchas like dont leave this pin floating or else the chip will be unpredictable! Then I have to make the schematic symbol and footprint by hand. That means manually entering IPC package dimensions into Altium like a braindead zombie. Every package is slightly different. I cannot tell you how many Texas Instruments DC-DC converters I have hooked up. I have no idea why device manufacturers don't just hire someone full-time to make open-source 2D and 3D footprints for the top six CAD tools. SnapEDA and Altium Vault are trying to do this, but the footprints are flawed and they are outright missing a lot of parts. I cannot tolerate mistakes when each board costs hundreds of dollars. The device manufacturers already make footprints to test their parts. Why dont they share them??
Huge pain #3: High barrier to entry. Very expensive software. In software engineering, professional tools like git, Visual Studio, Eclipse are all free. You can pull code at home from Git and start contributing immediately. The only barrier to entry is the time you need to understand the existing codebase. Even in firmware you can download Code Composer Studio or PSoC Creator for free.
In board design, you need to pay $300 for EAGLE or $5000+500/year for Altium if youre serious. Sometimes OrCAD goes on sale for $300. Lets say you want to simulate Bitcoin mining ICs frying themselves in their own heat. Or maybe you want to know the radiation pattern of your antenna. You can pay another four digit price tag for simulation software like CST or just copy a previous design like a zombie. Upverter is trying to solve the upfront cost problem with their $125/month SaaS subscription pricing, but I tried their editor 3 months ago and it was 15 FPS with the example board. Not cool. KiCAD is an open source alternative to Altium but as far as I know it is nowhere near comparable.
Huge pain #4: ordering components and PCBs. In my last project I had to order components from China. Ordering from China is not very easy with the language barrier, bad spec sheets, time difference. Alibaba is the place to go for ordering from China, but all the prices are Contact us, which means you have to give all your information blah blah blah until you get an email with the price and then pay with wire transfer. Sometimes you get lucky and you can find what you want on AliExpress and pay with credit card.
But the tradeoff to all of this is that if I do it correctly, I can hold something in my hand and give the software engineers a new API to play with. The APIs all stem from the hardware. The work is often more fundamental with equations and physics rather than purposeless corner cases I had to consider when I was in programming. And hardware often has the chance to be featured on the box of a product rather than software which is all just assumed to work. It feels more meaningful.
For the sake of clarity, this assumes we are not talking about destruction through unprofessional, inappropriate or unacceptable behavior, language, etc.
But the internet has become a nasty place where appearing in the public spotlight for any reason gives strangers reason enough to attack a person's reputation/character (with little or no resource or potential rebounding reputation damage).
In particular if you have a controversial view (be it technological or social controversy) then expect to be pulled apart by strangers.