The Story is breathtaking and the teachings are divine.It currently has the potential to change my life, i even marked some sentences and put tapes to important pages that concern my life.
A Dream of Wessex by Christopher Priest
But, you do "owe" things to an investor - like reports, hard work etc. What you do, however, OWE to yourself is that you protect your idea/product to the fullest.
Thus, you only feed them what they need to know, thus disclose only relevant financial info. If they ask for other info be sure to be brief. Don't disclose the actual details about the tech behind it.
I assume if you know who they invested in, you know the amount and probably the terms, thus assess. More investments > higher risk > higher reward. If those investments were <250k, that's normal and I wouldn't be to worried about it.
1. Use a fake name.
2. Use an email that isn't personally identifiable.
3. Get yourself a P.O. Box and have everything sent there (for when you order packages on Amazon) (you can still be identified offline, as there's no way to get a P.O. Box nowadays without actual proof of identification and residency)
> USPS has good deals.. I'm paying about $5/month for a small box (purchase of an entire year) ... as a web app developer with a business, I really didn't want my home address to be known, so this worked for me to at least keep my address somewhat anonymous, but they are all mostly inexpensive, and even if it doesn't fit into your mailbox, they'll just hold it at the Post Office for you with a notice on your mailbox to pick it up at the counter
4. You will have to buy gift cards at Walmart so you can purchase at Amazon and other websites.
don't use the same name on websites. unique username and strong password for each of them.
Use a browser like Brave if you can, or use Ghostery/ublock/etc.
Don't use anything Google at all.
Avoid Facebook the best you can.
I think the VPN is a good idea, and I haven't had one being marked as spam ever. PIA has been decent and has end points in the state that I'm in.
If you want to be a little more obscure, do all of the above but from a virtual machine running Linux. Periodically wipe & restore the virtual machine.
It depends on how anonymous you want to be.
Alternatively, if you know tags, just want to see which are similar to each other, methods like word2vec should help, vide:
: see screenshot here http://blog.devontechnologies.com/2016/11/a-users-journey-in...
org-mode already provides all infrastructure to organise your ideas and tag them. You would just need to do the clustering part.
They could really do with more developer support also. Had difficulties finding someone to build a LibreOffice plugin and a (Mac)Word Plugin.
(For developers: just take the most frequent words that are not "a, the, if, but" etc and convert them to tags)
Legal questions are often best answered by a lawyer. The lawyer is going to ask to see the contract you have with your employer about this compensation. I do not have access to this contract, but I have a probabalistic guess for you based on standard practices in the tech industry: you do not, in fact, have a contractual right to payment for the company's patents. They're the company's patents, not your patents -- you signed an IP assignment agreement which made this absolutely, unambiguously clear roughly contemporaneously with starting your job. Your sole guaranteed compensation for any work was your salary. Your company owes you zero dollars and zero cents of remaining salary; they mathed the heck out of that when you stopped working for them and, after that check was cut, you were even. Your company has discretion in awarding your bonuses when you worked there; they're going to exercise their discretion in not awarding you bonuses since you do not work there.
Do you deserve to get paid the money? That's a rather different kettle of fish. To the extent that you're well-educated adult who can understand contracts presented to you in English, none of the above should come as a surprise. To the extent that one thinks that the purpose of the bonus is not incenting future behavior but rather rewarding past behavior, a reasonable argument could be made that since you put in the work you should receive the fruits of it.
Do you have any former colleagues/friends at the company who could get you a copy of the policy?
Maybe your employment contract is different than other companies I have heard of, but this ought to be just like any other bonus (referral bonus, holiday bonus, etc.). When you terminate your employment, you are no longer eligible for employee bonuses.
While I do like a social media login as a user; as a developer, I hate having all of them on the website. To even have their logo on your website takes away from your own branding. This is certainly controversial and many may argue with me, but why do I need to have some other major website logo one of my most prominent pages when my logo is what I want people to remember.
The other reason I ditched the social media logins: I was spending more time making sure these actually worked, and there's no way to test it without deleting the username from the database for each and every one of them every time. And what happens a year from now when you aren't constantly checking to make sure those work? You are likely losing out on potential new users all because they see: "Hey a broken website.. I'm leaving!" I got to see it personally on HN too: someone had just launched his product, and someone noted the social media for Facebook wasn't working. This issue right here has already probably taken away the focus from the actual product. Facebook wins again!
There is nothing wrong with social media, but keeping it simple would be great. Having yet another thing to worry about when your actual product should be the only thing you should be worrying about just adds to the stress.
However, in eliminating social media for my logins, I've done something else: I've eliminated registration pages. Instead, if you go and attempt to login with an email and a password, and it doesn't exist, it will be created. If you go to login with that same email and password, it'll log you in from then on out.
For a few web apps I built, I had both the registration / login pages, but why? It's just an extra page of clutter. It's just as easy to check if it already exists and to just create it if it doesn't.
I absolutely love the "magic link" which Slack does... onetime and it tries to keep you logged in for as long as your cookie remains.
The other method I've been seeing a lot lately, specifically with bank apps: 4 digit numbers with a cookie. So I think how that works logically.. a cookie is set to remember your username, and all you have to do is enter in your 4 digit number that you setup and you get logged in after entering in that.. after all, who can't remember 4 digits?
On physical hardware I would use NUMA regions per set of applications as well to optimize the use of CPU cache and get lower latency to memory, but the overall memory availability will be reduced. This is done on some latency sensitive applications.
You can do similar things in Windows. There is probably a way in Mac, but I have never tried.
As others pointed out, there are many cases where doing all of this won't help, so it really depends on the problem you are trying to solve, or the optimization you wish to accomplish. There are certainly no one-size-fits-all solutions.
Without a hard real time guarantee from the hardware, everything built on it cannot provide a guarantee on dispatching only the exact amount of operations that the system can handle.
And that happens even before accounting that the os or some driver within may have some cpu locking going on.
Why does CPU locking exist? I'm sure this is pretty technical question but if anyone has a dumb answer for me... Is this something impossible get rid of? Can it be scoped to a core and not the entire CPU?
It scrapes headlines from Wikipedia once per day at 8p PST. It's encrypted. There's no ads. It loads fast, as-in one request. Your activity isn't logged.
I built this because I got tired of all the shitty tricks news websites play: obnoxious ads, "breaking news", auto-play videos, pumping megabytes of crap into your browser, lack of privacy, and lack of citations.
Legible news is boring. It's non-addictive. If you click on a link you might accidentally learn something about the historic context of a news story. I don't log anything because I don't care. Daily headlines delivered in one HTTP request (look at it in an inspector) over a CDN. It's fast. I hope you like it, but if you don't no worries, I built it for myself.
The sample looks like https://www.nytimes.com/2017/07/05/briefing/north-korea-cnn-...
It is exactly what it sounds likea quick daily briefing of the most important things that have happened over nightkinda as if you're the President.
There is a URL that you don't need to update each day to hit, but for the life of me I can't remember it at the moment.
If I am interested in something specific/real time, I will open up google news, reddit news, twitter, local news, web search, popular newspaper sites(nytimes, washington post etc.) and/or other relevant places.
I'm working on an alternative to Google News that shows the same event from multiple news outlets/perspectives so that you can draw your own conclusions. Let me know what you think!
You have to apply for beta access, but it didnt take long for me to be accepted in. Its probably more of a marketing beta program, to feel exclusive.
Apps and mobile is cool and all, but high density or high volume data consumption is not the use case for those platforms.
I roll my own sources including:1. A variety of newsfeeds through a desktop reader. (Can be improved by writing your own rating system.)2. A list of news sources on a web page, this evolves. (Would also benefit from code that throws out the things I'll never read.)3. Blendle.4. People I correspond with (they dig out good stuff, I reciprocate).5. Less obvious (to some) news sources like HN... are on that web page list....
Google used to do custom feeds defined by an arbitrary search string, that had some power.
There are tools out there that help identify material worth reading (DNN's etc.).
I find likes and dislikes are often valueless even if you "assume the opposite".
Your most important weapon may be the realisation that most journalists are under extreme pressure and don't do their job at even a basic level. Makes it easier to quickly ignore the garbage..
Then I check only the top news from some subreddits and hackernews, and I usually hide what I read to avoid seeing them again.
And if I need more I can get the headlines of major news websites.
It's a short digest of articles from a number of sources. It's not specifically hard news but it covers important stories of the day and interesting reads from across the web.
I wrote this as a daily briefing, also for myself. It scrapes around 45 sites that I have handpicked. Links are ranked based on shares across social platforms: the usual suspects.
I curate each issue based on what looks good each morning and send it out at around 7am AEST.
I wrote more about it here: https://www.kripy.com/alt-all-in/.
Ignore news and focus on things that are more important, like family, health and work.
It's probably overall beneficial to have a rough idea what is going on in your city, your nation and the world - in that order - but try to do it on a larger timescale, rather than be a squirrel chasing the "news cycle" - which is what sites like Google News are geared towards.
Only sheep passively consume news as its fed to them.
What exactly would people want to see different to Google News?
I've been mucking around with various things in this area for over 15 years now, but I'm just not sure what is useful to others?
Please tell me, because I'd like to build it. Reply here or email or Twitter.
Personally, I subscribe to one newspaper, watch one cable news network and browse HackerNews and Reddit (HN trending upward vs. Reddit in recent months) and listen to a few podcasts and I'm able to keep up with the world on a wide range of topics.
Riple and News360 are mobile, but pretty cool apps.
http://www.f3nws.com/mobile?amp - is the fast mobile/AMP version of the same site.
http://www.f3nws.com/feed - RSS Feed
Disclaimer: I'm a cofounder.
Continuous stream of socially curated news, formatted for mobile.
I don't really like any news organization very much, so instead anytime a political/current events piece pops up here and I like it, I check to see if the author has a Twitter account, and follow them on there. Then, via their RTs and posts, I discover new journalists. If they consistently put out good stuff, I follow them too.
As an example, someone here once put out a piece about Silicon Valley and politics by Emmett Rensin, which I thought was spot-on. Rensin showcased Nathan Robinson, then Abi Wilkinson. And so on and so on.
If you keep a sufficiently varied crowd of followers, geographically and topically, you always see RTs of pertinent news events from eg: BBC, Reuters, AP, or what have you.
In essence, what some of these services do algorithmically, I rely on humans for. As a result I seem to be aware of just about any current event topic that comes up, so it's working for me.
Don't use Twitter like Twitter itself suggests, e.g: "Follow Lebron! Follow Donald Trump! Follow CNN!". Add people very very judiciously, so that your feed looks like the news aggregator you wish to see.
There are three standards that you can think of as the Cracking the Coding Interview of quant finance (insofar as that is a homogenous field, which it isn't):
1. Heard on the Street
2. Quant Job Interview Questions and Answers
3. A Practical Guide to Quantitative Finance Interviews
You want to also practice algorithms as you would for a Google/Facebook whiteboard interview, but alongside that drill down on statistics. If you have the time review your linear algebra.
Higher math will be less necessary if you're a developer as opposed to a researcher, but they'll still want it. It's probably in your best interest if you know at least one "serious" language used for performance (C++, Java typically) while also being familiar with the data analysis libraries of Python.
If you have no experience with finance and you're coming in to that cold, give Options, Futures and Other Derivatives a read. I'm assuming you're in this boat because you're asking the question.
This is sort of catch-all advice. If you're working at Virtu or Jump, you're going to want to know as much as you can about low level programming with regards to latency, networking and memory, because those are HFT firms. If you're working at a place like Two Sigma, Java will be more applicable and you want to know more about statistics and data analysis on a practical level, because you're be implementing the strategies developed by quantitative researchers.
Tailor your approach to the type of trading the firm engages in. I've made two assumptions here - 1) you're interviewing with a firm considered "quantitative" as opposed to discretionary and 2) you're interviewing for a front office role, not a back office role (support, farther from money).
If you give more information about the type of firm and the type of role we can provide much more constructive advice.
On that note though, I'm curious how useful modern deep learning techniques are for trading. Traditional machine learning for the past couple decades was never terribly useful for entry or exit signals, merely as pattern recognition for ancillary purposes. I'm wondering if that's changed now.
If I was to guess, ML is probably easier applied to longer time frames. On the other hand, it's certainly possible to pipe the output of a GPU supercomputing cluster to an FPGA/ASIC HFT fleet. A slight delay in updating the trading model isn't the end of the world if execution speed remains good.
This all assumes we're healthy enough in that area to have kids. I know the older you get, the harder it is.
On the other hand, I'm open to adopting and she hasn't been so maybe if it doesn't pan out this year or next, she'll change her mind. If I can't have my own, the next best thing IMO is to change a child's life for the better and adopt.
1. macOS -> Aqua , apparently there exists an community package for react-native 
2. react-native-windows  by Microsoft which apparently has support for Windows 10 and xbox
3. There are other UI kits for linux and cross-platform, e.g. qt and gtk. I did not find much about react native there, except for ubuntu 
PS: I got those hits by googling "react native for desktop" :P
Contrast this to linux desktops where you can knock out applications fairly easily and it uses the local theme by default. They made it easy to do the right thing so most apps do the right thing. For an example, here is a todo list I threw together: https://gitlab.com/flukus/gtk-todo/blob/master/main.c . I just define my app, I don't do any theming, I don't worry about font sizes or color scheme, I just use the defaults that the toolkit provides and when I open the app it looks like every other gnome app. This is what windows was and probably still is missing. And the problem seems to be getting worse, see the awful background image in the windows 10 email client.
Aside from that, mobile UI's are simply much easier than desktop UI's. There is a lot less variablity in screen real estate for one, everything is full screen all the time. The don't have nested menus, they don't have accelerator keys, they don't have to (can't) display complex data, they are simple out of necessity.
I mean ask yourself, why are you here in the first place? If you're claiming is that this is just Reddit, why are you here?
An interesting point is that communities are about people, not technology. However, it's the technology that sets the tone. Take for example how the discussion here is text only, which encourages more thoughtful responses (or at least less memeful). Or the monologues people are sending each other on whatsapp. Or the <= 140 character quips on twitter. Obviously, just having the option to upvote and downvote has an impact too.
I think that maybe the consolidation that's happening on the internet is hurting the formation of these organic communities and is limiting how we interact through technology. But anyway, to answer your question, did you try Quora? The format is more of a question and answer site, and the quality largely depends on whom you're following. For music for example you can try Ethan Hein and Hans Zimmer.
photography gear -
We are launching our beta in the next couple of months, but until then you can sign up on http://shuffle.do to stay tuned. Happy to answer any questions.
First, (for new managers) managing people is a completely different skill set from engineering, expect to suck at it when you start and let go of your hard won pride that you developed becoming an awesome software engineer.
One of the "failure" modes of new managers is that they are so uncomfortable doing these new things, and so comfortable in the software engineering role that they find excuses to write code and do development which makes the team wonder why the 'boss' is trying to do their job, and it takes your eye off actual things you should be looking out for and fixing (like team mates getting conflicted, people who are having trouble but not asking for help, etc.)
Second, your success is entirely in your team's hands. It is their ability to do the work and make the deliverable and their production that shows you that you are doing a good job. This is so challenging for people who are used to being on the development team and measuring their success by comparing their "production" to that of the team. Now "they" haven't accomplished anything, but the folks writing code, they built all sorts of cool things to brag about.
So understanding that your success is tied to keeping your team understanding where they need to be, and knocking down any roadblocks in their way, is critical. It's also a different way of thinking for a lot of developers.
For the interview, come up with an answer to this: Tell me about a time you leveraged your experience and knowledge to multiply the efforts of your team.
A lot of what you will be doing is spending your time helping your team do good work on the right things, so any experience you have where you have done that as a senior or lead is relevant.
When you become a manager:
1. Find a mentor
2. https://www.manager-tools.com/get-started - Some really good fundamentals in podcast form. You can listen on your commute(if you have one)
3. http://randsinrepose.com/archives/category/management/ - Articles on management from an engineering manager.
I would pick one article and one podcast to consume each week so you have time to actually absorb it. If you try to implement some kind of perfect program from the beginning you will likely fail.
The job itself was titled "scrum master", but the description read more like a team lead/product manager role. I've done a little bit of both and was interested in exploring this career path and I jumped on.
The recruiting was not what I was used to. All in all I had 8 interviews over a course of 6 weeks. They focused heavily of my personality and I did a lot of self-assessments. No coding or case studies. When I reached the end of this I was so fatigued that I forgot to do the due diligence of my part, this turned out to be a BIG mistake.
- first and foremost, i inherited a team. If this is the case with you, MAKE SURE YOU CLICK. While I get along with most of my team on a person-to-person-basis in a team setting they've been working as six one-man teams for several years and Weren't interested in changing that.
- make sure you can tolerate the product you're building. If I had joined as a developer i would have quit within a week. This has an impact when you need to defend it/the team to the outside world. How much belief in the product can you fake?
- you will be alone. Your team won't be your friends anymore and neither will the managers above you.
Long story short, after almost burning out a second time in my life I resigned and am now looking for new work.
- A desire to help others accomplish their goals, not simply extract work from them. Sometimes this means moving them to another team/project or even out of the company.
- Proficiency in *-manager skills (product manager, project manager, etc.). Frontline managers often end up filling the roles that their team doesn't have anyone else for.
- You mentioned mentorship, which is great to talk about. Sometimes you're a direct mentor, sometimes you're identifying potential mentors, but it's important to understand what works well.
- For this situation in particular, be honest about the fact that you're new to management and looking to skill up. Part of managing people is understanding their career goals and how to help them move up, and understanding your own career, where you are, and where you'd like to go will illustrate that skill.
1) the person wants a management career path and seems to understand what it means (org builder, team player, perf reviews, hiring and firing) vs person who thinks their only option for career growth is management and thinks they've done it already as a tech lead and wanna do that role more
2) lots of cross-functional hat wearing and a clear appreciation and happiness with doing project and product management work, a willingness to do any shit work happily in order to make the team better
3) an awesome growth mindset willing to have determination in getting better at it with or without my help, lots of autonomy
4) preternatural judgement and ability to see the forest from the trees, clear potential to help us get better
Interviewed somebody like this recently and it's honestly just hard to say no
Roughly, we'd be looking for:
-- Technical: Will engineers trust you to help improve what they build and how? For example, can you architect across the stack and advocate best practices for code quality? Do you like leading from behind? As a startup, can you pitch in as needed?
-- Project management: Will you make development more predictable and productive? For example, as a feature moves from product design to implementation to production, will you help engineers technically spec, scope, decompose, tackle, & maintain features? Can you help with roadblocks, such as identifying risky parts, and making sure collaborations happen?
-- Product management bridge: Will you improve how product designers, sales engineers, and even early customers work with engineers, and vice-versa? Will you make sure infrastructure & operations are represented in engineering discussions?
-- Domain understanding: For engineers who lack experience with aspects of enterprise software and our customers' needs (security teams), will you help fill the gap? Will your visibility be a boon to the company?
-- Engineering management: Will you facilitate hiring? In what ways will you help engineers thrive & grow? Can you help with the ups & downs of rollercoaster startup life? Will you grow the company culture -- improve diversity, the daily environment, ...?
-- Junior developers: Will you help them integrate & grow?
-- Outside face: As a leader in a small company, can you assist with random customer-facing tasks like sales engineering and customer success? Recruit? Give tech talks?
-- Growth: As we go through the next doublings, how will you grow with us?
We look for awareness on most dimensions, and strong experience & interest on several. However, the form those take can be pretty varied.
... And if any of these sounds like you, please ping build@graphistry w/ a CV :)
You have to focus on fit more than anything else.
The first time you do it - its weird - very weird. All your previous ideas of work and work culture will be obfuscated. You'll realize that managers are a class onto their own.
To figure out fit, you mostly need to be able to read someone in about the first minute of meeting them. What do they value? What do they distrust? What will make them feel comfortable with you?
Older managers - probably want to know that you'll do what you're told, keep engineers in line and accept their management philosophy without question.
Newer age managers - you're very flexible and you'll take on a lot of work and you'll be part of the culture and that you worship at their altar - scrum, team velocities, standups and the rest of it.
Most important point: Do not criticize or point out large flaws in their system or process or thinking. (I've done this and have always lost out on the offer.) Focus on fit more that pointing out their errors.
At a low level like yours its probably best focus on showing that you've done a lot of thikning about the regular manager duties and to be as authentic as possible. This leaves to chance of whether they work in the same way but since its your fist time you probably don't have time to prepare anything else.
Welcome to the club!
- tell me about a time you had to let someone go. How did you deliver the news? How did the other person react? How did you communicate it to the engineering team and broader organization? Was there any fallout, and if so, how did you help people through the transition?
- tell me about a time you had to deal with layoffs. How did you communicate it to your team?
- tell me about a time you helped level an engineer up or multiplied their productivity. How did you give them feedback? What was the most difficult conversation you had with them? How did you help them reach the next level?
- tell me about your own progression from an IC to a manager. What was the most difficult feedback you've ever received from a teammate? How did you act on that? How did you react to the feedback?
- tell me about a time you had to say no to an engineer asking for a raise or promotion. How did they react? Did you setup a long term plan? Did they leave or stick around? What did you ask them to do?
I interview a lot of technical managers, and beyond technical chops, I focus mostly on communication skills, charisma, and personality.
I tend to ask a lot of behavioral/situational questions to understand how the candidate would handle different situations and how his personality lines up with the team. We are usually hoping for a thoughtful and genuine answer.
Additionally, I often schedule lunch with the candidate and the key players on the team, without the participation of the recruiting team, so they can speak freely.
You can prepare for some of the situational questions but keep in mind that it is totally ok to say "I don't know" or "I have not thought of that".
Best of luck!
You should sell those experiences as first steps into being a leader.
However, you should be aware that managing and coding are so different, even if it's in the same field. Managing people is tough and you learn it by doing.
This is understandable. Conquering and deploying a specific technology is hard and feels like a real achievement. That said, I found myself being more interested in each person's specific approach for determining what work to do, quantifying that work, and tracking it to completion. I had a surprisingly difficult time leading the conversation in that direction.
Specifically, I want to know how one interacts with product managers, prioritizes features, determines architecture, distills architecture to actual tasks, and guarantees that those tasks get completed in a timely fashion.
In the other comments people have spoken quite a bit about managing down in to the team, I'd also think about the project management and scope negotiation portion. As a partner to product management you're often called on to help shape what's possible long before ideas enter sprint planning or get turned into stories. Think about how you'd help negotiate scope when often the actual requirement has not been clarified.
I think it provides a pretty comprehensive list of topics that you could chat about during your interviews. Rather than making a good impression, you should talk truthfully about those topics. Worst case you'll learn something about them. Management is a great role that requires constant learning.
Good luck for the interviews!
Look for opportunities to do supervision. Non-profits are always looking for help, and it makes you look well rounded on your resume. There's no substitute for doing to learn how to manage.
Buy and read Jim Whitehurst book The Open Organization before your interview and actualize the information in that book. Recall times you put into practice the things that are mentioned in the book (good and bad).
A big component of managing a dev team is performance-management- managing good and bad performers. Don't try to BS your way through that or other questions, but rather acknowledge where your gaps are and let them know that they are known unknowns rather than being oblivious to their existence.
1. Facilitating your team to succeed.
2. Shielding your team from company politics and making sure they are getting the resources they need.
3. Know your team's strengths and weaknesses
4. Understand your project\product
5. Be a leader and not a manager. Leadership is just like any other skill which can be learned and developed
6. Share your vision with your team.
7. Understand that your team members are also humans and they have emotions too so do not try to come across as a cold person.
Reading list - https://sites.google.com/a/khanacademy.org/forge/for-develop...
Edit: I would also come ready with any sort of anecdotes about how you took initiative to do something and managed it end to end. Could be an event, could be a product, could be a code release - but that track record is definitely an indicator.
Having said that (and if you're still going to go for it), I'll try to give you some pointers.
1. Being a good engineering manager means having a good framework for getting things done. You probably have something like this already but as a manager, you have to be disciplined about keeping your team happy and productive, as well as knowing what everyone is working on at all times.
2. Be able to demonstrate how you think strategically and not just tactically (e.g. tactical: we're going to use MySQL because we have a hard schema, strategic: we're training engineers on the AWS tech stack because we have (or want) to move our organization in that direction for financial reasons).
3. Value "output over activity". Andy Grove's High Output Management is a godsend that explains this concept very well, but for the interview, demonstrate that you know the difference between people flapping their wings vs moving the needle forward.
4. Be able to speak about the difference between leadership vs management. Leadership is getting people to follow you while management is having people work for you. Management also means understanding the schedule, building a roadmap, and working with other groups to influence or lead important initiatives.
5. Helping ICs manage performance, motivate and incentivize good work, providing mentoring and guidance including career advice, rooting out low performers and managing them out. This is the hard, potentially unpleasant part of the job, and you'll need to demonstrate an understanding and willingness to do this (no one else will do this for you, this is the manager's job). Critical; since you don't seem to have experience here, you better brush up on this stuff most.
6. You job is also to understand current technology trends and be up to speed on the code, the process on the team, and the ways that things could be improved. Understand iterative process improvement and talk about how you've done this in the past.
There's lots more but this should hopefully cover the big important stuff.
All the best to you!
1. What is the process for reviewing, committing, merging and deploying code ? How are technical designs vetted before starting development on large projects ?
2. What is the process for hiring engineers and reviewing performance ?
3. What is the process for describing, prioritizing, and ultimately building and releasing new features ?
Understanding those 3 things as they exist at the company (and your approach to each) will tell you a lot about the organization, how to proceed, and will tell the company a lot about what you are bringing to the table.
Did you start anything up in the company - ideally yes. Shows you can spot opportunities.
Do you understand the role of the manager in this company, in the context, probably good to show some self awareness (Are you being hired in for a new team, existing team, if so why not hire internally etc.)
After that expect to explain how you deal with poor performers, how do you reward people etc.
You should always feel like you can overrule or supplement a decision, but you don't have to be the one to come up with every solution.
- Think back to the managers you've had and think about what they did well and what didn't work as well. The more you can talk about and have an opinion about what makes a good manager, the more you can show your desire and ability to become a good manager. Before becoming a manager, I spent a year going through my career and really looking in depth at my previous managers so that when I started I could try to use that to be better myself. What I found is that this made me very good at managing down and I was very popular with my team, but managing up was somewhat of a problem. So when you look back at your history and your previous managers, be sure to look at not only how your managers interacted with you and your teammates but also how your managers interacted with their managers and the rest of the org. This can be harder to see, since you're not a part of those interactions, but if you think back, you might remember at least some part of that.
- The most important part of being a manager, from my experience, is being able to deliver feedback. The more effortless and clear you are, the more easily you can provide frequent and minor course corrections as well as provide natural encouragement of desired behavior. It also makes firing/disciplining employees easy. For one, if you're giving constant feedback, those instances are much less frequent since employees can make those course corrections. But when it does become necessary, it's not a surprise. Either there was some major incident or there's been a long build-up where suggestions/warnings have been repeatedly ignored. When I've interviewed other managers, I've looked for their ability to deliver feedback and, crucially, their abilities to notice the things they should be giving feedback about. Many managers, especially new managers, just don't have the awareness to constantly be looking for small course corrections or the feel for when an employee needs a bit of emotional buoying that can come with positive feedback. Hopefully in your mentorship and lead dev experience, you've developed some of that awareness, so the more you can talk about that, the more you'll show you're ready. As far as delivering feedback, there's a lot of theory on the right way to do that, but it also requires practice. Read up on that and then find a friend who's willing to help and role play a few different feedback scenarios. You'll quickly get better with practice.
- I'm going to expand your question beyond the interview because I think it will help you with your interview. Because if you get hired, that's not the end of it. It's not a case of showing that you can do the work, getting hired and then just organically becoming good at it. Once you get hired, that's when you need to start diving into the theory behind the discipline of engineering management. If you can internalize that, then you'll be able to convey to your potential employer at the interview your willingness to work to become better. Try to show your interviewer that you have a plan for learning how to be a great manager and the concrete steps you'll take to achieve that goal. Because if you have zero experience and they know that going into the interview, that's the most they can expect from you.
- Not every engineer actually enjoys management. Many engineers really like knowing all the little details and have a hard time stepping away from that level of knowledge and only knowing the larger building blocks. If you can talk about your excitement to work at that higher level and willingness to give up that lower level, you'll at least convince them that you really want the job. Make sure that this is actually true, because it's hard to fake. But if you can show that enthusiasm, you'll subtly make a better impression.
- Lastly, try to stress areas of being a manager that you're already good at. For instance, as a lead developer, you've probably interviewed a lot of engineers. If you're great at hiring/recruiting, it makes being a manager a lot easier. If you can show that you're able to bring great engineers into their organization, that alone makes you a great hire. Another thing you've probably done is write 360 reviews for other engineers. If you can find one that you're particularly proud of, remove all identifying information from it, print it out and bring it to your interview as an example of the kind of thinking you'll bring to their organization.
Best of luck in the interview!
So, a few things I would think about would be:
 Who will you report to, and what is their management experience? How do their direct reports (likely other managers) view their management skills? Are they a teacher, or do they expect you to "pick things up" on your own? If they expect you to pick things up on your own, will they work with you and potentially pay for training classes or professional coaching?
 What is the structure of the team? Is it mostly senior members, or mostly junior members? What are their expectations of a new manager? Does the company typically promote from within, and you'll be an abnormal outsider?
 What are the expectations around the management responsibility, beyond day to day team issues? Will they be expecting you to hire new employees? Do you need to handle raises, promotions, and firing? Will you be expected to put together a budget every year?
All of the above is meant to help you to assess whether the role is going to be one that you can be successful in. Management is a great job, and I loved helping my teams grow in their careers; however, I think I would have floundered had I not had a great mentor who helped coach me specifically in these skills. I also think I would have struggled mightily had I jumped into a management role, without prior management experience, with a new team and a new company. Managing a team as an outsider is one of the toughest new roles in a company, even if you have a ton of experience.
Quick shameless plug: I'm co-founder of a venture-backed startup focused on helping people grow in their careers, such as yourself. My email is in my profile if you have any questions and I can be of help to you.
Demonstrate your grasp of cost optimization.
One of the most useful tactics in interviewing, or in any conversation, is to use silence as a tool. In your example, if they say "Deep learning", instead of responding with "that's interesting,..." stay silent for a few momenths. They will subconsciously jump to fill the gap in conversation, often revealing even more about themselves with the "unprepared" response you promted with your silence.
Another tact to take is being more "strong-armed". If they "dont want to bore you with the details", simply say "I would like to hear the details, break it down for me".
Simply don't allow them to deflect. If they deflect and haven't answered your question to your satisfaction, be straight forward and ask them to elaborate.
> "I don't want to bore you with the details".
Response: "Try me."
Dig for the details and if the candidate can't provide them, then either someone else did the work, they used a library and don't actually understand it, or they made it up altogether. This is assuming, of course, that they did the work relatively recently (<5 years).
If they deflect by mentioning either IP agreements or NDA's, then remain on topic but discuss something else under the same umbrella. For example, if the candidate deflects a question concerning k-means clustering, then ask about k-nearest-neighbors. If they continue to deflect, that's a red flag.
I'm a pessimist when it comes to hiring, but there are a lot of imposters claiming undue credit in this industry.
I recommend finding the best bullshitter at your company and having that person interview the candidates with you. A good bullshitter can always spot another bullshitter.
If you circle back and say something like, please bore me with the details it sounds interesting and they refuse that would be a deal breaker for me. It is in my mind a huge red flag.
Your role as an interviewer is to extract the information out of a candidate, otherwise we'd be using programs to do that for us because it's not just a 'yes' or 'no' answer. What I would do if I were you is to ask a follow up question - "I'm actually interested in learning more about that deep learning piece you mentioned, could you elaborate more on that, for example, is it using xyz technique or abc?". If the candidate can't answer your follow up question then follow up with "do you have experience in deep learning?". Only then, you'll get an accurate answer to your question. There's no guessing nor red flagging. If it's a yes then dig more until you get to understand the level of exposure to deep learning for this candidate. As you can tell, it involves 2 things from you: 1. be on top of deep learning if it's a requirement for this role, 2. being curious and ready to triple check your judgement. It's not a "I know, you don't know" type of situations, it's about trying to understand the level of a candidate within certain topics, while pushing the conversion in the right direction. That is your role as an interviewer.
Last but not least, it's totally fine if the answer you get is "I don't know anything about this topic". Try to find out if the candidate would be willing to learn deep learning and the reason why he/she would be interested in learning that. You may not have a deep learning expert in front of you, but maybe this person has the potential to become the next DL guru based on other things that could highlight excellent problem solving. You have to bridge the gaps as an interviewer by staying positive until the end - I'm sure this candidate has something to offer, let's try to find out what is that super power!
In the past, when i was asked about details of projects (non confidential) that i actually was working on - it always was fun for me to go into details and have conversation of equals instead of being interrogated.
Most nonprofits are actually struggling with the same thing businesses are: How do they use resources effectively? How can they take in more cash than they spend? How can they decide what services to offer? Nonprofits are more like businesses than most people think: http://seliger.com/2012/09/02/why-nonprofits-are-more-like-b...
One key difference in many respects is that businesses have customers or clients while nonprofits' principle customers or clients are actually funders, rather than service recipients, and that can create some odd incentives and behavior.
This year we registered on HackaDay for a early heart failure (HF) detector. Most aging adult suffers from HF, sometimes as early as when they are in their forties.
Our design is good, the gold standard here is the Physionet 2016 competition, Physionet 2016 competitors mostly used machine learning on file wide features such as the heart rate and its variability.We choose to find features in heart sounds, there are up to four sounds per beat. The code is on Github.The project on HaD will be declared finished in September or October.
We will have huge problems when we will reach the point of trying to obtain a regulator agreement (EC/FDA). It needs to make travels, provide samples, make clinical studies, rise awareness. Lot of problems that we are not equipped to manage.
If we succeed at this there are other R&D projects in the pipeline, to keep us busy.
I run Security First (https://www.secfirst.org). We are talking the issue of how to help make security learning and management easier for people at risk - NGOs, journalists, aid workers etc.
We've built a mobile app called Umbrella that puts best practice digital and physical security advice in the one place.
We also train and consult on various security issues for other organisations.
We are always looking for more help - technical, UI/UX, copywriting, dev (and funding of course).
Struggling with the most is the industry in general. From banking, to landlords, to police, vendors, paying employees, and everything in between. It's a really interesting business full of awesome problems to tackle and there's never a dull moment, but it's definitely a challenge.
I'm CPO/CTO/CMO at GlobalGiving. I know there are other members of CTOs for Good lurking here (https://www.ctosforgood.org/), but I'll let them call themselves out.
Tough fight. Politically complex.
EDIT: capital formation much murkier than in startup world, regulations, etc
Given I worry about this sort of thing for a living and am a partner in the firm: I think in terms of backup, DR, BC, availability and more. I have access to rather a lot of gear but the same approach will work for anyone willing to sit down and have a think and perhaps spend a few quid or at least think laterally.
For starters you need to consider what could happen to your systems and your data. Scribble a few scenarios down and think about "what would happen if ...". Then decide what is an acceptable outage or loss for each scenario. For example:
* You delete a file - can you recover it - how long
* You delete a file four months ago - can ...
* You drop your laptop - can you use another device to function
* Your partner deletes their entire accounts (my wife did this tonight - 5 sec outage)
* House burns down whilst on holiday
You get the idea - there is rather more to backups than simply "backups". Now look at appropriate technologies and strategies. eg for wifey, I used the recycle bin (KDE in this case) and bit my tongue when told I must have done it. I have put all her files into our family Nextcloud instance that I run at home. NC/Owncloud also have a salvage bin thing and the server VM I have is also backed up and off sited (to my office) with 35 days online restore points and a GFS scheme - all with Veeam. I have access to rather a lot more stuff as well and that is only part of my data availability plan but the point remains: I've considered the whole thing.
So to answer your question, I use a lot of different technologies and strategies. I use replication via NextCloud to make my data highly available. I use waste/recycle bins for quick "restores". I use Veeam for back in time restores of centrally held managed file stores. I off site via VPN links to another location.
If your question was simply to find out what people use then that's me done. However if you would like some ideas that are rather more realistic for a generic home user that will cover all bases for a reasonable outlay in time, effort and a few quid (but not much) then I am all ears.
"rdiff-backup backs up one directory to another, possibly over a network. The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special subdirectory of that target directory, so you can still recover files lost some time ago. The idea is to combine the best features of a mirror and an incremental backup. rdiff-backup also preserves subdirectories, hard links, dev files, permissions, uid/gid ownership (if it is running as root), modification times, acls, eas, resource forks, etc. Finally, rdiff-backup can operate in a bandwidth efficient manner over a pipe, like rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up to a remote location, and only the differences will be transmitted."
 - https://github.com/sol1/rdiff-backup
Someday I'm going to get a second offsite system to do ZFS backups to, but so far the above has served well. Then again I've been lucky enough to never have a hard drive fail, so the fact that I can lose 2 without losing data is pretty good. I'm vulnerable to fire and theft, but the most likely data loss scenarios are covered.
- daily snapshots for 1 week
- the first snapshot of every week for 4 weeks
- the first snapshot of every month for 2 years
- the first snapshot of every year for 5 years
Since I use entirely SSD storage I also have a script that mails me a usage report on those snapshots, and I manually prune ones that accidentally captured something huge. (Like a large coredump, download, etc. I do incremental sends, so I can never remove the most recent snapshot.)
Since snapshots are not backups I use `btrfs send/receive` to replicate the daily snapshots to a different btrfs filesystem on spinning rust, w/ the same retention policy. I do an `rsync` of the latest monthlies (once a month) to a rotating set of drives to cover the "datacenter burned down" scenario.
My restore process is very manual but it is essentially: `btrfs send` the desired subvolume(s) to a clean filesystem, re-snapshot them as read/write to enable writes again, and then install a bootloader, update /etc/fstab to use the new subvolid, etc.
Some advantages to this setup:
* incremental sends are super fast
* the data is protected against bitrot
* both the live array & backup array can tolerate one disk failure respectively
* no parity "RAID" (yet)
* defrag on btrfs unshares extents and thus in conjunction with snapshots this balloons the storage required.
* as with any CoW/snapshotting filesystem: figuring out disk usage becomes a non-trivial problem
The important stuff (projects, dotfiles) I keep on Tarsnap. I also rsync my entire home directory to an external drive every other week or so.
Similar for servers but I do back up /etc as well.
Only real things missing is encryption support (working on that), and backing up KVM virtual machines from the host (working on that too).
#helps to see the fstab first
UUID=<rootfsuuid> / btrfs subvol=root 0 0 UUID=<espuuid> /boot/efi vfat umask=0077,shortname=winnt,x-systemd.automount,noauto 0 0 cd /boot tar -acf boot-efi.tar efi/ mount <rootfsdev> /mnt cd /mnt btrfs sub snap -r root root.20170707 btrfs sub snap -r home home.20170707 btrfs send -p root.20170706 root.20170707 | btrfs receive /run/media/c/backup/ btrfs send -p home.20170706 home.20170707 | btrfs receive /run/media/c/backup/ cd umount /mnt
Anyway, restores are easy and fast. I can also optionally just send/receive home and do a clean install of the OS.
Related, I've been meaning to look into this project in more detail which leverages btrfs snapshots and send/receive.https://github.com/digint/btrbk
We back up photos from our iOS devices to this server using an app called PhotoSync. I also have an instance of the Google Photos Desktop Uploader running in a docker container using x11vnc / wine to mirror the photos to Google Photos (c'mon Google, why isn't there an official Linux client???). I'm really paranoid about losing family photos. I even update an offsite backup every few weeks using a portable HDD I keep at the office.
Plain old btrfs snapshot + rsync to local usb drive and offsite host for /etc, /var, /root
Duply for servers, keeping backups on S3:http://duply.net/
Cron does daily DB dumps so Duply stores everything needed to restore servers.
- Crashplan for cloud backups (also nightly; crashplan can backup continuously but I don't do that)
Pretty happy with it, though dirvish takes a little bit of manual setup. Never had to resort to the cloud backups yet.
With rsnapshot, I have hourly, daily, weekly and monthly backups that use hard links for the saving disk space. These backup dirs can be mounted read-only.
With afio, files above some defined size are compressed and then added to the archive, so that if some compression goes wrong, only that file may be lost, the archive is not corrupted. Can have incremental backups.
From the afio webpage:Afio makes cpio-format archives. It deals somewhat gracefully with input data corruption, supports multi-volume archives during interactive operation, and can make compressed archives that are much safer than compressed tar or cpio archives. Afio is best used as an `archive engine' in a backup script.
 http://rsnapshot.org/ http://members.chello.nl/k.holtman/afio.html
Backup takes ~10min for searching 1TB of disk space. The daily diff is typically 6..15 GB, mostly due to braindead mail storage format...
I want to keep it simple but still have full history and diff backup: no dedicated backup tool, but rsync + btrfs. A file-by-file copy is easy to check and access (and the history also looks that way).
If the source had btrfs, I would use btrfs send/receive to speed it up and make it atomic.
I have two such backup disks in different places. One uses an automatic backup trigger during my lunch break, the other is triggered manually (and thus not often enough).
The sources are diverse (servers, laptops, ...). The most valued one uses 2 x 1 TB SSDs in RAID1 for robustness.
All disks are fully encrypted.
I also keep current copies of most configuration data for all systems, mainly by backing up their /etc directories. This is also done for network equipment and remote network configuration data (zone files, etc).
Its main advantages with respect to other approaches, at least for my use cases, are:
- metadata is stored in a single append-only file: no extra software (DB etc.) is needed;
- partial backups can be performed to separate storages. In fact, source and backup directories are not conceptually different, so a duplicate of a directory counts as a backup.
Cron runs it, on @reboot schedule. If the backup is successful, some (but not all) old backups are deleted. I delete some oldest preserved backups manually, if disk space runs low.
At work we do regular TAR backups to external drives and SSH-rsync data to our sister office via VPN nightly. Backups are good for system restore then rsync back from remote to get to most recent.
I have a systemd timer to run (incremental) backups every 3 hours, and I plan on setting up a mechanism to automatically verify all of my data that has been uploaded.
I run a weekly script to rsync one HD to another. The backup HD is exactly the same size and partitioned identically. I had a HD crash some years ago and it was fairly trivial to swap out the drives (probably needed to make some changes to the MBR). Unfortunately, I had an HD crash some months ago and it was not as easy this time round. Apparently my rsync would fail in the middle and so a lot of files were stale. Unbootable. Fortunately, all the critical data was copied.
I should have a smarter backup script that will alert me on failure to rsync.
My customers and employers have all had these rube goldberg enterprisey backup systems, usually Symantec or Veritas talking to HP MSAs.
Sidenote: I was using Time Machine on MacOS but since I upgraded to 10.13, APFS disks are mandatorily excluded by the OS (apparently as a workaround to to some bug), so restic it is too.
: (warning: jwz) https://www.jwz.org/doc/backups.html
`rsync -av --files-from=".backup_directories"` on a daily cron job.
iMac and work hackintosh rsynced to local and remote backup machine daily. Windows machine (where all my music and pictures live) both rsynced to local and remote backup machine, and Cobian'd to a second drive daily. I also will run the same Cobian backup to a cold external drive every month or so.
Deathly afraid of data loss.
Synology NAS backed up daily to Backblaze B2
Dead simple to set up and maintain, and in the event that I need to restore a file or files, it's relatively fast.
My work files are kept in git repos which I push to the same servers.
I use Ansible to configure my machine, so that I don't have to backup system files, just the playbooks.
2. Clone said drive to an external drive. Detach and lock it in a water/fireproof box when not in use.
3. Swap external drive with another that is stored off site every week or two.
4. Swap with yet another off site external drive less often (a few months).
- A home NAS (4x5T + 7x4T = 48T, btrfs raid1)
- A 2U server sitting in a local datacenter (8x8T + 2x4T = 72T, btrfs raid1)
- An unlimited Google Drive plan
I run periodic snapshots on both servers and use simple rsync to sync from the home NAS to the colo. Irreplaceable personal stuff is sent from the colo to Google Drive using rclone.
Each device gets its own ZFS filesystem and is snapshotted after rsync.
FolderSync on Android does this automatically when I'm on home wifi. AcroSync for Windows. Both FolderSync and AcroSync are worth the small purchase price. Cronjobs for nix machines. iPad syncs to Mac which has a cronjob.
Stuff I really don't want to lose (photos, music, other art) are on multiple machines + cloud.
My (two) servers: dump of db, rsync of dumps and files to another server.
It's ok only because I've got little data.
Then the usual btrfs send/receive tricks.
- 6 month archival image of NAS to external HDD, rotated every 2 years
- 3 month differential rsync to nearline storage, kept for 5 years
Symlink ~/.private to Dropbox/private
Per file encryption, and I do not care if Dropbox will get hacked again
2) If you record audio of yourself sleeping, do you snore loudly or stop breathing for periods of time followed by sudden snorting or rasping?
3) Do you have low Thyroid Stimulating Hormone levels?
4) Do you have recurrent nosebleeds or red spots on your skin?
Also, seek out a mentor, coach, or someone to be accountable to. This will help keep you on track.
Here are the criteria for Inattention:
- Often fails to give close attention to details or makes careless mistakes in schoolwork, at work, or with other activities.
- Often has trouble holding attention on tasks or play activities.
- Often does not seem to listen when spoken to directly.
- Often does not follow through on instructions and fails to finish schoolwork, chores, or duties in the workplace (e.g., loses focus, side-tracked).
- Often has trouble organizing tasks and activities.
- Often avoids, dislikes, or is reluctant to do tasks that require mental effort over a long period of time (such as schoolwork or homework).
- Often loses things necessary for tasks and activities (e.g. school materials, pencils, books, tools, wallets, keys, paperwork, eyeglasses, mobile telephones).
- Is often easily distracted
- Is often forgetful in daily activities.
Sometimes we unknowingly build a mental block and self-resistance against working on projects that are too broad, too complicated, or even things that are just not interesting enough for our internal psyche.
For technical work, you have to focus of on your focus. I won't drive anywhere at anytime. For me, a single drive wrecks my concentration for the whole day. Also, stay out of phone use, the internet, and shopping. Stay out of mind numbing meetings and discussion groups. Diet wise, I could recommend simple things like apples, nuts, cookies, coffee and tea. As much as you would like. I could get the complicated stuff out of the way in 3-4 weeks locked in a closet with lots of privacy and bad personal hygiene practices.
The frills, database, and front-end stuff can be far more enjoyable and leisurely. You can even do those things at a coffee shop. I would considered that kind of programming as a psychological reward for doing the hard stuff.
Also, I'd investigate regulating your sugar levels through diet. That can certainly cause brain fog. People who turn to soft drinks for that quick fix, mental lift ultimately wind up in with bad focus and poor health.
I am just assuming but perhaps you didn't try some of these long enough?I have read somewhere that it takes at least six months before benefits of meditation are appear. Probably same thing with exercise or vitamins too.
I had run into focus issues too, went to doctor and described it just like how you are describing. He told me to take vitamin D. And then recommended to take ADHD test & lift heavy (to increase testosterone as I was on low end). Only thing, I really did semi-consistently is taking Vitamin D almost daily. I do seem to have better focus now, but still it could be improved a lot.
For the energy part, a lot of comes from personal determination. For me I'd say programming always feels a bit tedious and boring coming back after a proper vacation =). What helps is of course gym and socializing about coding the right amount. It comes easier after you've established a routine and have a distinct goal to work on. But yeah doing it all by yourself might be too much, for me it was at least (and still at times is). Not knowing what to do was the hard part, after getting to know the basics you kinda free yourself to do whatever you want after which it's all about determination to do it.
And if it's depression well that's a different matter entirely. I hope not, it's a shitty place to be in. If you can get a free assessment at psychologist that would probably be a good idea. In that case getting around other people might be the thing. Exercise also is very important. Also only studying CS might not be then the best thing to do, a creative hobby might serve as a better outlet and help you get energized with the coding.
Can I ask what you're about to build? I can help you get started if it's something webby like eg. React/Nodejs. You should setup yourself a taskboard like Trello and start making tasks that are not too overwhelming and have them in for example sections like: User stories (abstract goals for what you are about to build: 'As a user I want to be able to log in' etc), Backlog (tasks, such as 'Create a React component for rendering log in form' or 'Study React course x'), Bugs, Done but untested, Tested, Merged and deployed. That should get you started for professionalish style of development.
That being said, I'd suggest being really, really specific in what you want to accomplish. Forget all the grand plans, just nail down one very small thing you want to get done and post it here (gives accountability) Also post the very first thing you need to do to get started on that thing. It may be something as simple as "open up my IDE on my laptop and create class Foo"
Get into a loop of tiny improvements. Make each loop only take a few seconds. If you are making a web page, get the simplest possible page up and running and then add just one more tiny thing to it and refresh the page. If it's something you can't see, create the simplest possible unit test and then code against that.
When you have so much stuff you want to accomplish, it feels overwhelming and distracting. Boil it down to one thing, anything, and start there. The same approach works for all kinds of stuff by the way - writing a novel? Just open your saved draft and add a single sentence. Exercising? Do nothing but put your running shoes on and step outside, even if you come back in right away. Trying to mentally plan the entire thing in advance is exhausting so don't do it, only do the simplest thing that you can possibly do to start - usually it's enough to do one more extremely simple thing, and another, but don't get ahead of yourself - you don't need to worry about any of that stuff right now, only the very first step.
If the short term things don't work, I agree with other people's suggestion about journaling. Taking stock of your daily condition might provide clues, and at least gives you the feeling of doing something to take control.
The solutions you're talking about are good ones, but have you stuck with all of those? Sometimes these things take weeks or months to really kick in and help mood. Even most medications take a while. Give yourself some patience. And stick with the exercise, good diet, and routines - they certainly aren't hurting you!
Do something else that excites you.
If nothing excites you, go for a long drive somewhere to an interesting place, don't even plan it too much, just go somewhere new.
Also, read up on sick building syndrome, regional air quality issues, etc.
But first you need to pinpoint a cause. You can't just randomly try health tricks and hope they will work. If you don't know why you are lethargic and lack focus, you can't fix it by randomly throwing darts at the health dartboard with your eyes closed, so to speak.
You didn't mention a job; do you have one? Or any other kind of structure to your day? I'm a fairly introverted person who likes to think himself above extrisnic rewards, but my life (both during, and outside of work) was never so focused and purpose-driven than when I had a job (news reporting) that imposed daily, hard deadlines. Moving to jobs where deadlines were measured in weeks or months had a somewhat detrimental effect on my ability to focus.
What vitamins have you tried, at what dosages?
Does caffeine have any effect on you whatsoever?
If you drink a cup of tea right before bed, do you lose a night of sleep?
What habitual pattern did you maintain with 'exercise' and 'meditation' and for how long?
How soon during the day do you know it'll be an energy or a foggy day?
Can you read fiction on the foggy days? Non-fiction? Arxiv papers?
Do you consume added sugar in your everyday diet? Artificial sweeteners? "0g sugar, 20g fruit juice sugars" sweeteners (I'm looking at you, Whole Foods)?
Do you drink sweetened soda sugar, fructose, glucose, fruit juice, all artificial sweeteners, cactus juice, what the fuck ever is new this year? (If so, stop. Quit smoking cigarettes, stop drinking diluted sweetener, and get some exercise, or else you'll die of problems worse than feeling foggy!)
Do you snooze your alarm?
Have you researched the ebb and flow of cortisol throughout the day, beginning at wakeup?
What happens if you drink a half cup of 100% fruit juice (NOT orange, pineapple, or papaya!) the instant your eyes open?
How does a steak breakfast make you feel for the rest of the day? Or a steak dinner, the next morning?
Do you eat one large meal, two small meals, and some snacks each day? Do you eat around the same time every day? Do you eat every day at all?
Do you suffer weird problems that could be loosely classified as 'inflamed' or similar? Allergies, recurring ear-nose-threat issues, joint or muscle issues, etc.
It sounds like you have a proactive attitude about solving your problem and you've reached the limit of self care or amateur care. I really encourage you to see a professional.
One thing which is impossible is to have a 25-year old version of a 8-year old hacker. A 8-year old has infinite time and no worries. At 25 conscious or unconscious worries about where your life is going may be holding you back. Integrating hacking into a realistic life plan that can fulfill your other needs might help free up your mind.
Often, it's more complicated than we think. Probably a combination. And it's very hard to define the problem by yourself. The mind is not very reliable and like to play dirty tricks on us.
By talking enough about it, and receiving expert feedback, you somehow learn more about yourself. You're able to see the problems more clearly.
Also you probably know this but coffee and alcohol don't hydrate very well. I used to think I was getting plenty of water, but as it was mostly coffee and the occasional after work beer, I wasn't really.
If paired with some other symptoms like bone pain, insomnia &c, I'd recommend trying out living on no wheat, lactose &c. for some days and note if the mental fog goes away. If it does => doctor. If it doesn't => doctor anyway, since it seems you do have some allergy related condition.
1. Set a goal or two for your week on Monday. 2. Then each morning over coffee each day, list out a few tasks (max of six, but even two or three is ok) that help you progress towards those weekly goals. 3. Do them one at a time, in order of priority. (If you still feel you can't take these on, break them down into smaller tasks if you can)
2) Go to sleep and wake-up at the same time everyday.
3) Get out of the house
4) Spend a few buxs to take a community college class. This will force you to take action and get a kickstart.
5) Get professional help.
Do your teeth bite together normally? Can you breathe clearly through both sides of your nose throughout the night?
One project that I'm currently maintaining first caught my interest when I tried to connect a MIDI piano up to a Linux system and I found several of the open source options had issues compiling. At that point I submitted fixes to get it working to my satisfaction and I have continued to help improve upon it since then.
It's so difficult. I love building products, I get paid very well, and I have the freedom to work remotely, which has allowed me to travel. I know that I would take a significant pay cut and probably that fear alone of being uncomfortable and struggling is what keeps me plugged in. I feel stupid for being so ungrateful and yet at times I think my computer is killing me.
I honestly daydream of a cabin in a forest somewhere. To stop time.
Our plan is real estate. My wife and I have started with single family rentals and hope to add enough inventory to sustain ourselves on that. We're both handy and try to live within/slight-under our means right now in order to do something like that successfully. Plus, it's nice to accomplish something (tangible) with your hands.
My cure plan is to switch to a data scientist job and then use that to get into the product side of things.
May I respectfully suggest that a longer mental health vacation may be in order? It sounds a bit like burnout.
Many years ago, like you, I put all my eggs into one basket. My tech job. There is definitely a diminishing rate of return with putting your all into a job, especially as a coder monkey.
My suggestion, as I've suggested elsewhere (see also https://news.ycombinator.com/item?id=14684307), is that you need to diversify out of tech. Stop putting so much energy and time into being in the industry and keeping up with the industry.
While the week off to do some things around the house is a good start, I think you need to take "a vacation" more regularly. By that, I mean to approach something new with the attitude that you are on vacation. Vacation is sometimes more about attitude than latitude (but latitude definitely does help).
There is a saying that goes something along the lines of: never let your hobby become your avocation. I hope that you can find a hobby or two that will never (likely) become something that has deadlines or monetary payment attached.
It seems that taking the week off has helped you realize some things about what you want to do. For a lot of people: work doesn't necessarily make you happy but it gives you the means to do something that makes you happy. You don't have to love your job. And you don't have to hate you job. Extremes make good drama but the reality isn't so black and white. Please don't quit your job. At least ask for a sabbatical first (be prepared to imply that you will quit if you don't get one, as this is the only way you can get a sabbatical). And please don't quit the industry without first exploring what possibly you can do the replace the income that supports the lifestyle that you are accustomed to. You will likely find that there isn't really much out there, especially if you like human to computer interaction more than human to human interaction.
I hope you find something that helps you get away from your screen more. Ideally, every single day (like learning how to draw or garden). I believe, the solution for burn out, for someone like you, is to find something else (a hobby or two) to do so you can burn off that ever-present internal desire to do something.
Maybe you have a hidden talent that people can connect with. Put videos on YouTube.
The list is huge, so I recommend you start with the Compilers course by Stanford and go through one of the two following books as a parallel reading:1. Engineering a Compiler, K. Cooper, L. Torczon.2. Modern Compiler Implementation in ML, by A. Appel.
If you want a smaller book, the I recommend the Basics of Compiler Design by T. Mogensen, it is a nice and short one.
All of these resources are linked to in the list.
Modern Compiler Implementation in ML (I'm not a fan of the C/Java versions)
If you are fluent in a mainstream OO language - Java, C#, Ruby etc
Programming Language Processors in Java: Compilers and Interpreters
( the code is in Java but can be trivially ported into any OO language )
Most compiler programming books use lex/yacc versions for lexing and parsing. Imo, this isn't a good way to learn lexing/parsing, and using recursive descent or combinator parsing approaches is (imho) the right way to begin.
If you want to know how tools like lex and yacc are built, then Holub's "Compiler Construction in C" is very comprehensive and goes into great detail about the required CS theory- (automata DFA, NFA etc).
The book seems to be out of print, but used copies are worth buying (imho)
Compilers Second Edition 
Engineering a Compiler, Second Edition 
Computer Systems: A Programmer's Perspective (3rd Edition) 
This book taught me how to write a compiler.
Here is its description from its website:
* Comprehensive treatment of compiler construction.
* JavaCC and Yacc coverage optional.
* Entire book is Java oriented.
* Powerful software package available to students that tests and evaluates their compilers.
* Fully defines many projects so students can learn how to put the theory into practice.
* Includes supplements on theory so that the book can be used in a course that combines compiler construction with formal languages, automata theory, and computability theory.
If you already know C or C++ or Java then this book is for you. In my opinion, you can learn many computer science concepts and be able to apply to your field. The book will teach you how to write a grammar then write a parser from it then eventually be able to improve it as you go on reading and doing the exercises. It was a great moment when I feel comfortable writing recursive functions since grammars are composed of recursive functions. You'll also learn a nice way on how you can get your compiler to generate assembly code. Another feature of the book is the chapter on Finite Automata wherein you'll learn how to convert between regular expressions, regular grammars and finite automata and eventually write your own 'grep' which was for me is a mind-blowing experience. There are lots of other stuffs in this book that you could learn.
Compiler Construction by Niklaus Wirth (2014) [pdf] https://news.ycombinator.com/item?id=10764672
I have no relation to the author. I'm just a happy customer.
Personally, I only find the backend (Optimization) interesting: Steven Muchnick's Advanced compiler design and implementation, is the only book that I know of that is mainly focused on optimization. It is literally a encyclopedia of optimizations.
The "dragon" books is one of the classics. (Compilers: Principles, Techniques, and Tools) ... linked to in another comment.
We make software to help police officers do their jobs more efficiently - our applications literally help save lives. There's a lot of interesting design challenges - for example, emergency dispatchers look at our CAD (computer aided dispatch) software for many hours on large monitors.. how do you design it so their eyes don't get tired?
And then cops look at the same software on their laptops, as they're driving to respond to an emergency.. how do you make a notification "suspect is armed" stand out so they notice it among all other data?
We are looking for designers to help us solve these and other problems:
Product Designer: https://www.mark43.com/careers/700918/?gh_jid=700918
Sr. Product Designer: https://www.mark43.com/careers/119568/?gh_jid=119568
(New York City)
Picking a company you can believe in and going to work for their design department is probably the best way to make a positive difference in the world while also being able to pay the bills. Plenty of companies are doing "good work" in the world. The world would be a vastly worse place without business as usual for all kinds of products. Improving some of those products can make a meaningful difference.
There is plenty of time to think about how to make a really serious difference. It doesn't have to be solved today. After you get a bit of experience, you can pivot to something that you feel fits that criteria.
I tend to not like these types of questions because a bunch of internet strangers are generally speaking not somehow magically more qualified than you are to decide how to make a "real" difference in the world. The short list of people with such answers are typically working on them in some way and it often doesn't pay the bills.
Try and rank your options, and remember that it'll probably look like a power law distribution.
See the two graphs under this section: https://80000hours.org/career-guide/world-problems/#how-to-w...
Many of the companies suggested sound good, though if you're really optimizing for impact, the best one will probably have more impact than all the other suggestions combined. No pressure!
I'm not a graphic designer, but during the recent UK election, I created a site to dissuade people from voting for the Conservative party. One issue I wrote about was our method of voting in the UK. Here is a (fairly rubbish) graphic trying to highlight the results of the 2015 UK election. The fact is that many people simply don't know how our electoral system works or what it's flaws are. Is this diagram clear without any context? (Probably not!)
Here is the article in which the graphic appeared giving additional context:
Often it's impossible to explain a topic or idea without supporting visuals.
Being able to explain things clearly with both text and graphics (whether for campaigning or teaching or persuasion) is a really valuable skill.
If that appeals to you, perhaps this is an avenue you could pursue? But you'll have to find the cause, topic or idea that inspires you.
This is 90% designers problem. The engineering side of this is easy. Hard to say how you'd pay money for it, but if your maps are good, some cities may agree to pay to officially use them.
Google maps kind of does this for you (if you do "directions") but I just don't understand why it doesn't work... It gets me to a subway station and I start searching for the maps on walls.
But if done well, millions of people will be thanking you every day.
EDIT: We're in public health, but compensate competitively, offer significant equity and provide top-notch benefits.
Job posting on HN: https://news.ycombinator.com/item?id=13727071
Designer role: http://www.zenysis.com/designer.html
The thing is... like others on this thread have said, there is a ton of demand. So what interests you?
I have been getting involved with local politics recently, and there is a HUGE need for designers for political clubs, and organizations.
I'd say find something you are passionate about and start volunteering, and if you want to help Progressive Democrats then DM me!
Take a look at the curriculum for ideas of what teachers want to teach, most schools have laptops, chromebooks or iPads.
First, not every world problem is solvable with design. Being aware that you are one facet of the solution is both comforting and overwhelming. To have broad impact you often need a team of experts to cover the pipeline from end-to-end, so that means things like solving for the terrible Heath Care experience in the US or UK require massive reformations in how that industry has been run for almost 100 years. On the bright side, there are lots of private clinics aiming to solve this - One Medical is a great example (I promise I dont work for them, just a fan of their approach). If you have the motivation to aim for this level of impact that is awesome, but most likely wont be available to you until you have several years of experience under your belt and area ready to move beyond graphic design and into a role as creative director (like Jony Ive for example).
The good news? You can start planning for that career path today. Start small by targeting industries that you already have experience with, even if that experience is indirect. Got a passion for food culture? Maybe run with that. Seek out reputable companies that are trying to perfect food distribution to restaurants and grocery stores. From there you will start to see the pain points that cause issues like food deserts in inner city areas. Start to slowly invest time on the side volunteering with non-profits and groups that are actively trying to solve for these oversights in the food distribution system. See whats holding them back from making big changes. Regardless of what industry you focus on, assume you will always be spending time on the side volunteering with activist/non-profit groups that are already targeting the crisis at hand.
Your journey now is to marry your charitable 'side-job' with your full-time job, and your choices will hinge on reducing the gulf between the two. One day, they can be one and the same job - and youll see the path towards that goal unfold for you as you roadmap your steps to achieve that goal. Sometimes this means creating your own company - but it certainly doesnt have to be that way. Lots and lots of private companies are stepping up to offer people another option than the current, broken norm, such as One Medical that I mentioned above.
Lastly, Ill echo what others have said about donating your earnings. Ill take that a step further and suggest the idea of working a charity initiative into your regular earnings model. If you are working for yourself - this is a great opportunity to build your passion for giving into your pricing. I love seeing places that actively advertise how much they donate and incorporate a breakdown of that cost into their payment model. The invoices they provide will outline exactly how much of your payment is donated and to what organization. By doing this, these companies are not only making a positive impact, but they are fostering a culture within their industry that values giving-back. Often clients will seek them out specifically because they want to support a company that values altruism and sees it as a sustainable business model.
Sorry for the novel-length post! Ill close with this: just remember - always ask yourself what you can do TODAY, however small it may seem. You may not be Elon Musk, but the path to that kind of impact is created step-by-step with every small interaction. Every relevant experience is a learning experience. Volunteer, find an open-source project, talk to others who are trying to solve problems too, and network with like-minded people. We all start out as little cogs in a big machine, but together we can change the system, one step at a time.
What say you?
But I think I miss part of the picture here, there is probably a channel transmitting structured information like this from manufacturers to vendors, I just never found it.
Use 1: Send a high-res image in any format (like, say, tiff), the original, a web-optimal jpg at full resolution, and any sizes that might be needed in various contexts (thumbnail, inline display at any screen density) are put into the right place in my S3 bucket.
Use 2: Using ids or original file names, point the API to an image or array of images, uploaded via Use 1, and give it a set of dimensions/conditions, and have it return links to the correct images for me.
I.e.: when we bill someone weekly for something and then the phone number changes owner we want to stop immediately.
Same if you send sms-es that you dont want delivered to anyone but the intended recipient.
I'm sure this exists already but it's hard to find because searching usually points me to a cronjob service. But what I'm looking for is distinct from a that. I don't want to run something every minute or hour or checking if there's any work to do. I just want a given task to run as a pre-determined time, scaled to any arbitrary number of tasks.
The sum of @Var1 and @Var2 is #Sum
and then we can program #Sum (we call this an expression) to return the sum of @Var1 and @Var2. Once I pass the values for the variables @Var1 and @Var2 to API, let's say 1 and 2 correspondingly. Then the api would return you the content as:
The sum of 1 and 2 is 3
I couldn't find something that could help me with this so I build one. You can visit https://www.dialoguewise.com/ in case you have a similar requirement. More on expressions here: https://docs.dialoguewise.com/expressions/
There are a few, but none provide some important information or have a reliable, complete data set. In particular, box art, UPC codes. From my research the Giant Bomb and Moby Games API's seem to be the most complete, but neither have the UPC. The only place I can find that is another API which is rather lacking in completeness and data.
2. An embeddable survey tool like SurveyGizmo, but completely whitelabelable, including the survey editor
3. An API for benchmark scores for iOS and Android devices (give me all devices that are as fast or faster than a Samsung Galaxy S6)
4. An embeddable private commenting tool (like Disqus, but for the back-office parts of the website)
Edit: Great question by the way!
2) an API to connect with insurance carriers as a broker
var customer = api.getNewCustomer(MarketingCost);
var BankAccount = api.Sell(customer);
Quick counterpoint to the other advice telling you to give more equity out:
1) Your new investors might feel a bit slighted by this; especially if this additional equity is dilutive, which it probably is.
2) A good angel should understand that raising the additional money is in their best interest and will maximize the value of their equity if it helps the company succeed. I'm not sure what situation you're in; but if not being able to raise the extra capital would be a significant risk; then it's a no-brainer.
I would recommend against giving out additional equity. The beauty of convertible debt or safes is that you can take capital whenever you need it without affecting the cap table and it all gets resolved at your first equity round.
What is right, and what you can get away with, aren't the same thing. You need more money, a first option to the original investors makes sense, unless the new investors are strategic. In that case, the current investors should understand that value and you can use that to justify the same terms (lower discount for the money, but additional discount for the strategic value).
Any restructuring should be as transparent as possible and you should spend as much time as necessary explaining your rationale to the parties involved. They don't have to like it, but they deserve to know what's going on.
From my pov, it sounds to me like the early angel is basically whining. Personally, I'd offer to let him or her buy up and preserve a pro-rata. My decision would depend on if this is an experienced angel with a good rep, or someone who isn't particularly experienced / not used to how investments go and the idea that you can lose. ie if you didn't raise that $150k, this angel's investment would be worth $0 so that's it's own reward.
Have/would you consider making it open source (no reason you can't still charge for your hosted version)? I'd love to use something that already exists, but OSS is a must for me for a new tool.
I'm sure I'll be downvoted which will be further proof of what I'm saying. Not that I care really. I make an account a week.
There is a word for it, which I forgot, when you look something up on Wikipedia, the article contains a link to another article, and you go, "Oooh, that sounds interesting", open it in another tab, then, when reading the second article, you come across two or three more of such links, and before you know what is going on, you have dozens of tabs open. The only limit is your patience and your computer's RAM.
Eventually you'll end up reading articles that are not even remotely related to your initial inquiry, but highly interesting nonetheless.
http://www.kurzweilai.net/ - Articles about some of the most interesting bleeding-edge high-tech research.
https://arstechnica.com/ - Tech and tech-related news.
Also, Reddit. Not the default front-page stuff, of course, but more in-depth and smaller subreddits, such as /r/netsec, /r/financialindependence, or /r/rust - there's a multitude of nice focused communities. Occassionally even /r/programming is more interesting than Hacker News though :)
The Economist - https://www.economist.com/ - I like that they do articles about places all over the world
Find Lectures - https://www.findlectures.com/ - Search engine focused on collecting talks
I also collect book recommendations from HN, people I follow on Twitter in an Amazon wishlist.
Hacker News (of course) LWN Ars Technica Angry Asian Man Climate Denial Crock of the Week Cool Tools Council of Ex-Muslims of Britain ESA Top News (Euro. Space Agency) Jewish Daily Forward Jonesblog (retinal neuroscientist and photographer:http://prometheus.med.utah.edu/~bwjones/about/) NASA Image of the Day Physical Review Letters Not Even Wrong Planet Clojure RealClimate Retraction Watch New York Times WTOP (local news) Schneier on Security Slate Star Codex Space Safety Magazine CDC's Morbidity and Mortality Weekly Report (highly recommended) Stories from the trauma bay
Quanta articles are always extremely enlightening, interesting and well written.
Google Trends - To understand what people are searching for
Reddit - Treasure trove of opinions and insights
Hacker News - Quality tech news and opinions
For my own use, I built a simple site to browse all of these sites from one place effectively: https://newsfeed.one/
US Gamer: https://www.usgamer.net
Giant Bomb: https://www.giantbomb.com (I'm premium subscriber)
Ars Technica: https://arstechnica.com
NeoGAF: https://www.neogaf.com (I try not to sometimes as it's a time sink, but it's fun, mindless and stressless.)
Hacker News of course.
I try to stay away from Reddit and as it's a time sink for me and I find can stress me mentally.
For inspiration on UI, I browse https://dribbble.comhttps://codepen.io and https://uplabs.com
I also try to visit engineering blog of company that I like such as Github, Etsy, Segment, Stripe and learn from their blog. They usually have very good article about what really happening at a real company and what they do to solve.
Then I also use Youtube, subscirbe to Confreaks, and again, whenever I like some video, they suggest something very close to what I like.
Then sometimes ago, I started to collect links and realize I should share with the world and start this site: https://betterdev.link/
or to the Economist (which I order-but I tend to listen most of the articles as the audio comes free for subscribers and is of excellent quality).
I try to read books nowadays more than random blogposts. Makes my monkeybrain happier (and I secretly wish wiser).
Definitively non-tech, but full of knowledge and inspiration.
Recently I've tried to make my procrastination more useful, and read random Wikipedia articles instead browsing news sites. Let's see if the habit sticks.
American Scientist (distinct from Scientific American) [https://www.americanscientist.org/] for science, engineering and technology.
Foreign Affairs [https://www.foreignaffairs.com/] for international relations and politics.
although I actually switched back to reading these (and others) in ink-on-paper format, which I've found helps me focus much better.
EDIT: Also, Philosophy Now [https://philosophynow.org/] for more abstract ideas.
These are bimonthly publications, and all worth paying money for.
I also read the daily email from http://oppsdaily.com/ to see if there is a problem that I can solve that someone is willing to pay for.
http://www.econlib.org/, https://www.cato.org/, https://mises.org/ (disclaimer: austrian econ slant)
Stunning art, beautiful and thoughtful essays, ideas and videos.
He posts content on Windows internals, Win32 APIs, and explanations for Windows behavior.
If you program for Win32 then reading his blog will identify bugs in your code.
Edited for formatting and to omit needless words
It's brief, unapologetic, patient explanations about specific cases in law that touch on popular topics. It really shows how non-black-and-white the world is and especially how bringing knowledge to it gives you clarity, even when you're not in total agreement.
Infinite Series - https://www.youtube.com/channel/UCs4aHmggTfFrpkPcWSaBN9g (I never thought I would find a math series one of my favorite channels)
SpaceTime - https://www.youtube.com/channel/UC7_gcs09iThXybpVgjHZ_7g
Crash Course - https://www.youtube.com/channel/UCX6b17PVsYBQ0ip5gyeme-Q
When done properly, web video/animated content can greatly enhance learning abstract, obtuse material and can be worth 1000 words per second. From Infinite Series, I finally got the gist of quantum computing.
Archive and RSS feed link here: https://www.bloomberg.com/view/topics/money-stuff
Weekly - World http://kottke.org/https://www.edge.org/Youtube App on Ipad, Subscription to Joe Rogen, Tim Ferris, and many others Podcasters like these mostly point out to any random topic under the sun, and the discussion is Deep. Example - check out these podcasts and their discussion on Ethics, AI, Health, Finance and Trump :)
RandomFacebook - mostly from friends and of personal nature, but I do visit resources they point out
- A whole bunch of other site/blog/channels as feed that I look at when I have time.
Stephen Colbert: https://www.youtube.com/channel/UCMtFAi84ehTSYSE9XoHefig/vid...
and lately I've been binge watching the Jordan Peterson lectures: https://www.youtube.com/watch?v=I8Xc2_FtpHI&list=PL22J3VaeAB...
ribbonfarm: though I usually only read the articles by Venkatesh Rao: https://www.ribbonfarm.com/author/admin/
also bingewatching lessons on 2x from http://edx.org. It used to be http://coursera.org but their servers are sluggish most of the time.
http://blog.computationalcomplexity.org/ is a pretty good one
Curated collections of long-form journalism.
Edit: Forgot to add Codex 99, '...an occasionally updated website about art, design and history, except when its about something else altogether." http://www.codex99.com
"Farnam Street is devoted to helping you develop an understanding of how the world really works, make better decisions, and live a better life. We address such topics as mental models, decision making, learning, reading, and the art of living."
Create Digital Music
Reading academic reviews and looking up the vocabulary on the fly is a great way to stay humble.
similar to HN but much much more humble in every way. I quite like it. Although I don't have account so I am mostly reading.
Great tumblr, suggested by a close friend.
- Reddit (occasionally)
- Google News (rarely)
I find myself reading a lot more books in person though, namely educational books about topics I'm unfamiliar with or want to review. I think it's important to read about something that you don't know about but want to learn more about, e.g. for me: economics.
Mostly because we created it. :)
I guess I like sports? :)
And various RSS feeds and emails from MIT, IDC, personal blog, DoD and etc..