Bluetooth is an EXTREMELY complex radio protocol on Layer 1. It's like a mating dance between scorpions in the middle of a freeway. High chance something gets messed up.
Layer 1 keeps drastically changing too. Bluetooth 1 and 2 use completely different modulations, and are not backwards compatible. Bluetooth 3 simply was an extension to 2. "Let's agree over Bluetooth 2.0 to use WiFi instead." Bluetooth 4, while much simpler, uses an entirely different scheme.
Instead of a "general purpose" wireless network like WiFi, Bluetooth tried to be application specific. Except the only profiles everyone wants are mice, wireless audio, and fitness trackers. If you look at the application layer spec, it reeks of design by committee. Everyone haphazardly jammed their pet projects together, and there are redundant and vestigial parts everywhere.
The Linux side of BlueZ is abysmal. Honestly, I don't even know how anyone does anything with Bluetooth on Linux besides a mouse and keyboard. And barely even that.
As much as I hate on the protocol, the Layer 1 spec is truly ahead of it's time, in some areas. Watching two radios frequency hop, and negotiate to avoid a congested wifi channel was unreal.
Most of the issues in this thread are related to poor hardware design more than a crowded spectrum. While the spectrum is in fact crowded in metropolitan areas, most Bluetooth communication doesn't require much bandwidth and can handle error prone areas with ease.
While the frequency hopping helps a ton on BL (and WiFi for that matter), the issues people outlined are due to:
1) Shitty firmware2) Shitty hardware
Antenna design is black magic and only a few firms in the US do it well. It took us almost 10 months to fully design and test our antenna assembly(s) with a very capable third party firm.
It took dozens of trips to a test chamber, a dozen computer simulations that take a day to run, and PCB samples that take days to verify. They have to be tuned every time copper or mechanical parts move as well.
It's a real pain and most Bluetooth products use garbage chip antennas and baluns or reference designs for antennas. This increases the sensitivity to failure and provides a generally shitty experience.
Most of your product interactions around bluetooth are budget products connected on one side of the equation (e.g. a $50 bluetooth headset). So despite how capable your Mac or iPhone is, if you have a garbage headset on the other side with poor antenna design, it'll be a disaster of an experience.
I had high hopes for Google Chromecast Audio for my music at work and at home. Probably my fault for jinxing myself by asking "What could possibly be worse than Bluetooth?" Chromecast Audio has definitively answered that.
For one thing, you can't limit who can interact with the Chromecast. Anyone on the network can see it. At work, my music would usually pause ~4 times a day as someone else's phone would see it and connect to it. I'd have to set up a new wifi network that only I could use to fix this. Since I only listen to music a few hours a day, that's pretty frequent.
It also gets confused if I leave work and then try to use Google Play Music elsewhere: my Google Home in the bathroom will play a song and then stop, I think because "google play is being used on another device", but it doesn't tell you that.
Maybe I should just go back to using something like a Raspberry Pi with access to my music library, it still is mostly songs I have the CDs for and ripped, though I've added probably 50-100 songs over the last year on Google Play, my 600 CDs I have all in FLACs.
Best way to improve reliability is to avoid dodgy or counterfeit radios in crappy electronics.
I have Bluetooth devices years old that I've never had problems with, and others that are a constant nightmare. The software stack behind the Bluetooth is also a major component in the reliability question.
WiFi in its initial days (802.11b) reminds me of bluetooth right now. Quirky, bad tools, weird errors. But WiFi caught on and manufacturers started throwing $B at R&D for better chips and better drivers for those chips.
Bluetooth just has a problem with scale.
I had a colleague for a time who's dad was a hardware engineer with Toshiba & worked with/on their part of the specification Working Group.
His pop said that the whole BT stack was unambiguously a steaming pile of poo from the get-go, and it was nearly miraculous it functioned as well as it did.
At that I had to chuckle, seeing how I'd wager that each of us have had enough woggy experiences with the tech to agree with the point he made so plainly.
But I do love the chosen icon & the history behind it, vi-a-vi the name ("Bluetooth"), so it's not all bad <wink>. ---
this was around 2010 or so, to add some context wrt the relevant timeline(s).
- Macbook to Apple bluetooth mouse
- iPhone 6s to late model Mazda infotainment system
- iPhone 6s BTLE connection to Garmin Forerunner watch
Even worse are the "spark" kind of 2.4GHz appliances that don't play nice, like wireless camera systems and baby monitors. If your strong-signal wifi or bluetooth keeps dropping, it's far more likely to be one of those at fault than anything else.
That makes me a little less excited about my plans of getting Dual Shock 4 for my PC for gaming.
My and my wife's Fitbit have constant Bluetooth issues to our phones. This is completely and utterly annoying.
Driver related? Not sure.
To be fair there were problems other than Bluetooth. The headphones were trying to be smart, if they sensed you taking them off they'd pause the music for you. Except it didn't always work so instead of pausing the music when I took off the headphones, which is ingrained and reflexive and automatic and no trouble at all, now I had to pay attention every time to whether the auto-pause worked and then either pause myself or not.
And sometimes I'd adjust the headphones slightly to scratch my ear or something and the music would pause. Sigh.
2. fragile modulation techniques (uwb would've been a "final solution" to the problem, but died to patent trolls)
3. interference from wifi (try using bt mouse while downloading an hd movie)
4. because of three different "wire protocols"
But the upside is that BT super cheap to implement, and thus ubiquitous
You didn't say what OS, so I assumed Windows. You want an IM/VideoIM that respects your freedoms as well as works better.
It is not free or open source but on mobile devices we use Line:https://line.me/en-US/download
We talk to family in Thailand using it instead of a phone. All in-laws and family in Thailand got an iPhone or Android phone that uses Line.
- Do not grab phone/computer etc. and mindlessly browse first thing in the morning. (Or before bed. Or at any time really.) But doing it first thing really starts your day on the wrong foot.
- When seeking to relax, do not mindlessly browse the internet/social-media/tv. Read an enjoyable book. This is an order of magnitude more fulfilling and beneficial to you. And genuinely more relaxing: screens are stimulating, and might let you 'relax' in the sense that you can momentarily be completely absorbed in something 'other', and forget your day to day life; but they don't relax you in the sense of being calm and contemplative (in general, in my experience).
- Reduce instant gratification from as many areas as possible. Do things that are rewarding longer term. Like reading, cooking, growing plants, hiking, etc.
- Cut video games.
- Block facebook + reddit + sites you waste a lot of time on, from main computer. Maybe have a secondary device you use to access these sites, for a set period each day (I recommend this mainly because it can be quite difficult to maintain a social life without facebook, (which is a terrible state of affairs)). Have days where you don't go onto these sites at all.
- Spend as little time on screens as is possible-> if you can work on paper do so
- have a regular exercise regime. eg. swim/run. Doing first thing in the morning really helps set your day on the right track, you have already exerted a good amount of self discipline, and achieved something, and this makes it easier to continue being disciplined.
- I recommend reading 'The Power of Habit'.
A regular meditation practice helps with impulse control (sitting still for X minutes requires exercising self control) and that will help with resisting the urge to do tasks which are immediately gratifying, which will free up time and energy for activities which lead to long term growth.
Two things really helped me with meditation: setting a timer, and meditating every day.
Insight Timer (not affiliated) helped with both of these, keeping track of how many days in a row you've meditated, and allows you to set daily reminders.
There are also guided meditations available (in the app or YouTube if you prefer) if you are just starting out.
Before you ask yourself how can I avoid something, it's better to ask yourself how you can use it to improve yourself. Fighting against something drains your willpower and you only have a limited amount.
- There could be an underlying medical problem. Mild depression often has low willpower as the most noticeable effect. If it's not too much of a hassle, maybe get your thyroid checked. And whatever works for depression should usually work for your problem as well, exercise unfortunately being the most effective
- If what you're doing really doesn't interest you, it doesn't make much sense to see a pathology where everything is working as intended. Try something new (as a hobby maybe) that requires similar levels of engagement, and see if the problem persists. If not, it's time for tough decisions.
- There's a theory that willpower works much like a muscle. There's a book about that phenomenon, but it really doesn't have much more content than the last sentence. It's one of those results that I don't completely trust, but trying it out doesn't cost much: do anything that requires willpower regularly, and see if you improve. The examples from the book were really small interventions, such as brushing your teeth with the non-dominant hand. After three weeks or so, people were significantly more likely to successfully stop smoking, compared to the control group. That's a rather big effect.
- Try reducing your work hours. Being "always on" just drains your resources. Start with restricting your daily work hours to something like 3h or even less, and only expand again if you're productive in those hours.
- Somehow get your hands on ADHD meds (or, you know, the generic alternatives that fuel the bitcoin boom). You'll be as focussed as you ever wanted to be, and even a one-time experience can be helpful, by reminding you what it actually feels like to be "in the zone".
* Integrity: Doing the right thing, when no one is looking, or "when it doesn't matter"
Example: Yesterday, Amazon accidentally discounted a $3.5k guitar to $112. It was widely publicized and hundreds of them were purchased. Some people go theirs shipped. Is this right or wrong? After all, it's just "pennies" to a company like Amazon. Answer: yes it's wrong.
* Self-discipline: Do you work out? Force yourself to work out 2x a week. Stick to the schedule. Do you play an instrument? Force yourself to practice multiple times a week.
These things were beat into me as a kid by a pair of "tough love" parents. I cannot thank them enough.
That helps with the instant gratification problem for me.
This isn't necessarily bad. "YAGNI", after all.
In a work programming context, if you're trying to work up the motivation to do it properly rather than hack it, can I suggest a variant on "rubber duck debugging"? Simply find a more diligent co-worker and discuss the short and long solutions. When they say you should do the long one, agree with them.
Bang! Now you're socially committed to the non-instant solution. It's like having a running buddy. Or the old joke about why are mountaineers roped together: to stop the sensible ones going home.
Your question contains a second part: The question for motivation to continue training despite having no internal motivation. I'm not good enough in that department to give a short, precise answer yet.
Sure, meditation and exercise and reading on paper are great overall lifestyle changes that will help in the long run, but that's not what I see you asking about.
Two things I think can help you immediately:
1) Timers. Set a timer if you're working on a hard problem. 10 minutes focus, 5 minutes to fuck around, rinse, repeat (work/break times are up to you, just start somewhere). Personally, I notice that the "it's only 10 minutes and then I can take a break and look at cat pictures!" is enough to temporarily short circuit the "instant gratification" I want. Before you know it, you'll find yourself annoyed when the 10 minutes is up because you broke your train of thought. Time to add another 5 minutes. Then 5 more. It's important to reward yourself for your work, even if it just means you went 10 minutes without checking Reddit.
2) If you can't shake the feeling and need to just solve the problem and move on, that's fine. Figure out a way that works for you to revisit the problem. Make a note in a journal? Give yourself a calendar reminder? Put in a ticket detailing what you still feel needs to be done so it can be added to your next agile cycle? It's up to you. It's okay to implement temporary/bad solutions and revisit later.
Don't be too hard on yourself and don't let anybody tell you that you're doing to little. Start somewhere an iterate. This is self-improvement and in this context nobody else matters but yourself. Good luck!
Willpower works for some, not for others, but the bottom line, willpower will only get you so far and if you keep testing it, it will let you down at some point. Get up from the computer and take a short walk, do some form of light exercise or maybe just meditatefor a few moments so that you can refocus. Sometimes just stepping outside for a couple of minutes to enjoy the refresh air and sunshine will let you go back to your project refocused and ready to get after it.
Find what works for you and when you find yourself drifting into things that waste your time, remove yourself for the reset that works for you.
2) Also, if you can choose language to work with, you can try languages that allow you to work in the REPL. That way you can have instant feedback loop and feel satisfied even when you get some small functions working.
3) Pomodoro technique.
Personally, I embrace the dopamine rush provided by small tangible units of progress, but I make sure that some of these units include refactoring and reworking design decisions, which also provide a tangible sense of progress. (And improves your skills in these areas!)
I believe this is an overall better system than trying to build a perfect artifact from the start -- too often you're actually solving the wrong problem, even if your solution ends up being elegant.
Scott Adams has some good writing on choosing to do the thing that gives you the most energy, which for me is very often something quick and dirty, and I love it.
I find that whenever I am unfocused but have a big problem to solve doing the paper exercise for 30 min to 1 hour greatly help me focus throughout the rest of the day.
(1) Have a work-related problem that absolutely needs you to take the approach you wish you'd be taking.
EDIT: I've found (2) and (3) to be very helpful for impulse control, which might be an additional factor in your troubles.
For rationale to steele your resolve for pursuing your question, see this jblow comment for the ages  and the comments on Deep Work.
From what I'm reading, I think you're looking for the ability to deeply immerse in problems when the time is right.
When you're deeply immersed or in a flow state, your conscious and unconscious are completely aligned on a common goal. In fact, your conscious mind participates less and less in the tasks - only providing high-level strategy notions to your work, letting your subconscious tactical problem solving, recall and muscle memory do the work of getting the solution out into the world.
When it's working:
- your working memory (i.e. the classic 7+/-2 figure from psychology) is filled with the task at hand, and nothing else. Not only are you not thinking about other things, but you also have no doubts or second thoughts about what you're doing or how you are doing it.
- you have short feedback loops in place, letting your brain's pattern recognition work effectively.
- you have all of the tools you need at hand to solve the problem, and don't need to switch tasks to build/acquire them.
When you're in this state, you don't need a dopamine rush from anything else - you're caught up in in the problem, and don't need something to synthesize the excitement of discovery. You're getting that from the task!
Conversely, some examples of how it can break down:
- The steps required to reproduce your test conditions overflow your working memory, especially when decisions or analysis is required. Any conscious thought put towards the steps to recreate a test case is a task switch away from the problem you're solving. You might want to invest in scripts to automate some or all of the work.
- you're not sure if your approach is the right one. Now you're spending some of your problem solving energy on the "meta-problem" of how best to solve the problem. Take a moment to prove to yourself that the approach is at least worth investing in and then move forward.
Finally, know that deep immersion has its own drawbacks! Most importantly, while deep into solving one problem, it's easy to "over-invest" by going down the wrong path. For now, you might consider that a good problem to have and a sign of success at acquiring this skill. Honing the skill of choosing between the two approaches is level 2 ;)
Bias: I'm the inventor.
I've found some help with typing out, free-flowing style: "What's the issue? Why is this difficult? What are my options? How can I fix it?". YMMV.
1) Divide the complex problem into small yet challenging chunks of problems.
2) Totally forget about the large/complex problem.
3) Focus/Solve one problem at a time, the way you already do.
4) In the end, ask someone else to weave the individual solutions to solve the original problem. (or DIY if you prefer to!)
Deep work as mentioned by other poster is also another good resource for focus related topics.
that is what the idiom "put your nose to the grindstone" is about.
if you dont know/aware that the journey is long or even how long , time will fly.
you put one leg in front of the other , until you realise you finished something.
Another thing is to get off of Social Media, immediately .
- Find some short programming tutorials you can follow along on and gradually increase the length.
- Starting and stopping your day with the right routines makes a difference. I don't check email and use aquamail to not bug me during those hours. If somethings down I setup a different kind of emergency alert.
- Treat your senses a little different when you want to focus. Tools like white noise, ear plugs, 9th beet stretch of brain.fm can work well.
- Keeping a dedicated space for work has taught me to focus at that desk and play in other locations. I have the exact same desk and screen setup at my office and home. I keep it to focus.
- Log out of all social media apps. And news apps. Disable all notifications. Every app thinks it's at the centre of your life by wanting to gamification you so take it away. Only use the mobile web sites in your phone in a web browser installed only for it.
- Refuse to read or watch anything that isn't immediately useful for you and what you're up to now. Afraid you'll miss it or forget it later? Install diigo and keyword evening you read. You may find you rarely go back. Plus people don't mind filling you in when you've missed something.
- Manually block all news, social media sites in your hosts file (point everything to 127.0.0.1) on your laptop. Seems to help a lot of folks. If the path of least resistance is increased just enough..
- Read books more. Finding good books will teach your brain the act of immersion, focus and flow. You know you've found it when you get slightly enraged by an interruption.
- Going for walks or bike rides help me. There has been some studies out linking walking, learning and problem solving.
- Take up some meditation as a form of settling your thoughts and focussing. Meditating can provide the same feeling of a buzz without any hangover, mixed with giving you the fresh mind and focus you woke up with.
- Use do not disturb and silence notifications as much as possible. It makes a world of difference.
- Install a plugin that limits the number of browser window and tabs you have open at any given time.
- Keep a separate device for reading, communicating/socializing. I use a kindle and phablet phone.
- Understand your time. Be ok with scheduling your day in 1 hour pockets, including fixed reading time, at first and working your way down to 15 minute increments when needed. Be ok with tracking your time for 30 days to observe what you're doing with a tool like harvest.
Hope that mught be of some use.
Some other things I try to remember:
Productivity is as much a muscle as it is a habit as it is a discipline.
It's possible to grow out of the chasing shiny things phase little by little by cutting out all the other places that contribute ute to a distracted state of mind.
We distract ourselves when something becomes a little more difficult, and it's an important thing to manage.
Don't pressure yourself, a little sustained improvement at a time will go way further in the long run.
Building discipline that you can selectively use to focus when needed helps get things done is the goal.
We have a fixed amount of attention each day. Many things are trying to steal it from us so we don't get much done.
Much of our digital experience has devolved into the mindless chasing for hits of dopamine of the good enough updates, links, articles, etc. It's not anyone's fault except the PhD's spending their life's work getting people to click on stuff. If you are, don't feel bad about it, just cut the jerks out :)
There's very little worthy of being an interruption in a day.
Managing focus means managing those hits of novelty and distractions.
The power of habit is a great book as someone mentioned.
IIRC, If will take a few weeks to start forgetting and form new habits according to this book. Starting small, and keeping a list of what your doing helps you come back to it when one strays.
Now I am really impressed by the Culture serie 
It's Net Neutrality and a call to action.
Edit: It IS my grey (#969696) - looking at the source, the topbar colour you set in your profile, overrides anything done in the css (which in this case is #828282) - So I don't see it anyway.... have I missed out on great non-orange bars in the past then? /sadpanda
This is better than the black bar, as at least the link is changed. Otherwise it's: the bar is black. Somebody passed away.
However the blacked out title is confusing. It is noticeable definitely but does NOT tell me to click on it, just looks like there is a bug. In fact I opened HN in another browser to confirm.
There should be an icon for net neutrality - like the pink ribbon.
UPDATE: I see HN just did that. Got the "HN is down" page several times :)
That was quick!
This reminds me of a joke (or real event??) where an expert sent an invoice listed with the following items:
- Item: Fix xyz part : $50
- Item: Knowing what and where to fix: $1000
So as developers, we supposedly create value. Yes all jobs create value but the argument is that to become a good developer, it takes a lot. So you get paid the big bucks for knowing what to do. Same with any high skilled profession.
On a different note, I will actually argue that we are not as well paid generally. Yes compared to a receptionist, we get paid a lot more. But compared to the C levels or execs, we get paid peanuts. So, it depends where you see it from. Tons of good developers never get to 200K (even in places such as CA or NY). I know a lot of them personally.
Most of us won't get $200K a year as a developer regardless of what we do.
As for why people in Silicon Valley are overpaid for this work? Well, I suspect it's partly down to a bunch of factors.
For instance, things like rent are pretty high over there, so someone being paid a normal wage couldn't really afford to live in the area. So any Silicon Valley that can afford to pay its employees high wages will, just so they're not commuting miles into work every day.
Competition is important here too. If your competitors pay high wages, you'll also need to pay them in order to lure in employees. So with many Silicon Valley companies pay hundreds of thousands of dollars a year, their competitors have to follow suit not to lose their entire workforce.
Same with a lot of things like free food, transportation, etc. They know people look for perks when choosing a job, so offer them in order to be overlooked for a company that does.
That said, those things are not uncommon in other industries or companies. Whether a company offers free food, charges you for it or tells you to get it yourself from the local high street depends on the company. The latter is admittedly a tad more common outside of the Valley and US in general though.
And yes, there's likely a bubble aspect here too. Startups in the Valley are often flush with cash and finding it very easy to raise capital. So it almost encourages them to splash out money on things like wages and office perks.
Hope that helps!
It's a common fallacy to think that people - regardless of income bracket - are paid for their time and inconvenience rather than the value they create with their work.
This widespread attitude in turn probably is at least partially responsible for a lot of waste: Things like excessively long but utterly unproductive and meaningless meetings. Activities like answering emails all day while really accomplishing nothing.
Work is often perceived to be something that has to be cumbersome and awful in order to be real, worthwhile work. If it doesnt suck it cant be work, can it? Conversely, if it feels like 'work' it must be work, even if you're not creating any value in the process.
So, no unless you're cutting corners by intentionally creating low-quality work you're not an impostor.
Judging from the parameters you mentioned I presume you live in the Bay Area. Keep in mind that's probably one of the most expensive places to live in the whole world. A developer elsewhere might not earn half of what you make but he or she probably also has a much lower cost of living.
Finally, everyone who has the opportunity to work as a developer in an industrialised country certainly is very lucky but that doesn't mean you're overpaid or your work doesn't matter.
The premise is that we seem to see things from our own bubble - like for example, in your case, you were lucky enough to land a great paying job and you correlate the amount of work you do with the amount of compensation you get and seem to think it is not balanced.
I know a lot of developers who are paid in the mercy of a whole lot of economic factors, and who are probably doing a lot more things than what their compensation pays them.
There's also the factor of the work itself - doing/making stuff that has never been done before, pushing technology capability to the limits, negotiating with your stakeholders, people and users. This is a whole ecosystem, where stress and pressure are the norm and that we as developers needs to be constantly learning and applying those learning every single day.
P.S.You might as well donate portions of your earnings to causes you believe in. Or save up for the rainy days. Or build a business where you can provide opportunities for others.
Also you say, you have to close a few tasks, fix a few bugs, and make sure I am not a jerk to teammates.....
Fixing a few bugs could make the company hundreds of thousands of dollars or even millions, it could protect trade secrets or protect personal information, it could make the jobs of others in the company faster or simply easier. It is all a matter of perspective. And doing it while not being a jerk is a plus.
When Walt Disney became the highest paid executive in the U.S. a reporter asked him what he thought of that and he said "It's about time."
Many developers perceive they are underpaid, certainly many of us face competition from people who get paid $35k a year in developing countries.
The deeper problem in the industry is a rabid antiprofessionalism that means, among other things, you won't get anything consistent out of a $20k or $200k developer.
Is your team delivering value to the company (or, even better, to the company's customers)? Are you doing your part to help the team? If so, you may actually be worth that amount of money, without your employer being a fool, and without you taking advantage of anyone. (If not, try to make it so that you are.)
Note well: QA, for example, still delivers value to the company and the customers. "Create value" is not the same as "deliver features".
Also, does anyone know the engine that the anti-net neutrality users are using? I see copy pasted comments that are anti, so I figure there are similar programs on that side of the isle.
I am greatful to everyone who contributes to the fight, in a small way or a big way.
The messaging feels deceptive to me because it seems to be pitched with juvenile "you should be able to have as much as you want without having to care about price!" tone, rather than the more nuanced concern that monopolistic ISPs could promote or deny traffic in anticompetitive behaviors. That concern, while real, doesn't seem to have shown much threat of manifestation outside of a few edge cases (two that immediately spring to mind are Comcast throttling torrents back in ~'07 and T-Mobile not counting bandwidth consumption against quotas for near-edge hosted media from their their "Binge On" partners). It honestly seems to me that the number of "consumer-friendly" neutrality violations have outnumbered the anti-consumer ones in recent history - which is a concern in that it makes it harder for a startup to compete with an entrenched player, but that's WAY outside of any of the messaging being pitched to the unknowing masses today (probably because "companies giving you service perks for no extra charge is bad!" is a hard message to sell). Things like the Verizon/Netflix flap was a peering dispute, which isn't a new concern and probably isn't resolved to any real degree under neutrality regulations, but people still reference that as a flagship case for neutrality regulations.
There are some legitimate fears. Most of them haven't manifested, and are most robustly resolved through opening up competition in the ISP space, IMO. The messaging seems to be, in the majority case, unrealistic scare-mongering, and that leaves a bad taste in my mouth.
You can think of it as if phone companies grouping businesses in different buckets and then charging extra for better service. Small businesses will have to pay phone companies extra if they want their customers to call them.
To make more people see your post, you should prefix it with Ask HN: so people know it is a request, and make your title more descriptive.
For instance Ask HN: Looking for blind coders to talk about [the subject].I am not sure you can, but editing the content of your port to give more details about the topic, what your students do, etc. would be helpful.
I am a blind developer and may be able to help. Email is in my profile.
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.
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?
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.
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.
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.
Also, seek out a mentor, coach, or someone to be accountable to. This will help keep you on track.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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)
Do your teeth bite together normally? Can you breathe clearly through both sides of your nose throughout the night?
Explaining the stack you used to build this platform will likely come off as pure alien speak to the restaurant owners you try to sell to.
But that being said, I only understand restaurants in the US, and not Sicily.
Research is a good place to start - first with your own product, then the larger market (how is it being used, how much value does it bring prestofood, how many orders do they process per day).
If the metrics give you conviction, start by talking to some restaurants.
There was a YC company (Trackin) that focused on this exact concept in the US that went through enough trouble that they've since pivoted to catering like Zesty, Zerocater, etc...
Oh, and effort != good product.
 Started/ran www.eatmise.com in SF, grossed 35K+, achieved ramen profit in 7 months solely on organic WOM.
The Lawyer Referral Service at King County Bar is the only referral service in the state of Washington that is certified by the American Bar Association
Murthy Law Firm is good.
The general workflow is that Dropbox automatically uploads photos from my phone and from my husband's phone to a "Camera Uploads" folder. My husband's photos are brought over to my Dropbox via a shared folder. Hazel watches the Camera Uploads folder and renames and then sorts photos into a directory structure of "YYYY > YYYY-MM." Each photo is names YYYYMMDDHHMMSS.EXT. It is incredibly easy for me to find any photo I am looking for. I am not locked into any software or file structure. I use Lyn.app or GraphicsConverter.app or even Finder.app to browse the photos. There are a couple of iOS apps that look into your dropbox directory and make albums out of folders.
So far, the biggest weakness of this setup is pictures that are not taken by me and the co-mingling of those images with personal photos. I need to be better about reviewing the monthly folder at the end of the month and placing those where they belong. Examples of the things that are in this category are photos of sports players/games/events, screenshots, memes, wallpapers, etc. I do have a separate but similar workflow for screenshots of video games, so that is not an issue.
I also had really poor backup habits when I was younger (yay for multiple copies of everything and just adding a random number to it) and have a huge chunk of photos that are all improperly dated for December 2013. This means that I have to spend a lot of time de-duping. I use DuplicateDetective.app to help with this, but photos are one area where I will not do that automatically. Sadly, I am missing a couple month chunk right around when my dog was adopted, but overall, my pictures from late high-school forward have survived pretty well. Once I have the old stuff mostly organized, this will self-maintain in the future.
I do not know the size of my photo library.
I've written a lightweight JS app authenticated by AWS Cognito that uploads my photos to S3. It even has a thumbnail making Lambda function, and a comments sections for family and friends. I wrote about it here: http://www.pesfandiar.com/blog/2017/03/10/serverless-photo-s...
One approach could be: buy a USB stick every few months and copy a few thousand random photos from your collection to it. If your hard disk dies, grab as many of those USB sticks as you feel like making time for, and restore the photos from them.
If you are really adventurous, put a quotum on the growth of your collection (e.g. 50 photos per month or x MB per month) and force yourself to throw away older photos if you want to keep more than 50 for a month. If you set the limit at x MB per month and really want to keep 100 photos, you can give up photo quality by recompressing some photos.
From there I'll curate a gallery of particular trip or event and upload to Google Photos where I can more easily share with friends and family.
I do not have a great strategy to access them all in one place. I was thinking of possibly utilizing Amazon photo backup that comes with prime, but it does not do video.
My photos are generally divided into 2 categories: high quality artwork photos and everyday pictures, usually from a cell phone.
The art pictures are divided into "collections", named according to whim. Most files have names as unique as the picture. I also have art reference photos here, as well as a few cell phone photo collections: Things that look glitched, manhole covers, and sunsets behind a utility pole.
The others are badly organized. I usually have a "dump" folder with unorganized photos. I try to name folders so I remember, but I forget.
After toying with Dropbox, Amazon Photos, Google Photos and a host of others, what I ended up doing was connecting a 1TB drive to a Raspberry Pi, then setting up a Samba mount on the local LAN. There's a read/write "dropbox" folder where we can upload photos manually, and I have a Python script running out of cron that sorts everything into date-based folders (https://github.com/andrewning/sortphotos). The date-folders are read-only on the Samba share.
I also have Dropbox configured on our mobile phones. Photos can be auto-uploaded to Dropbox, and I have CLI scripts that download them from there, and move them into the date-folders. The Python script de-dupes everything, and I move "duplicates" to an S3 folder where they're either purged after 30 days, or I'll review them to double check something wasn't ignored by mistake.
Everything on the 1TB drive is synched to S3 weekly, and moved quickly to Glacier. I also have a secondary 1TB drive that I'll sync to the master on a monthly basis.
So I don't get on-the-go access to my full photo archives, but I can move what I want to Amazon Photos if I really want something, and I've got enough redundancies to make me feel like I won't lose anything.
Costs are about $2/month for about 100 gigs so far.
Managed poorly. 1/2 of it Just slaved to Mac's Photo app. The other half in loose dated folders.
No tags, only a hand full of albums. No face detection. Scattered backups on DVDRS. Also backed up with the rest of the computer every week.
It's all coming from my phone camera, which I sync and cleanup every week or so.
Maybe I should try setting up a cron job to rsync my DCIM folder. I haven't really heard of anything better that doesn't rely on some third party service.
Whenever I have a new image, I upload it and tag it.
I periodically back up the database and keep it stored on a separate drive. All of my drives are also backed up to Backblaze in the event my house burns down or all my drives get electrically fried, etc.
This is even easier then something like WordPress for them, and much simpler for me. WordPress deserves credit for its ease of use for non-technical people, however I don't view this as a good metric for what to choose for a website.
I deliver the _site folder as a finished product and put it on Cloudfront with HTTPS. That's about as simple and unbreakable as it gets. Customers can then pay a monthly retainer or occasional hourly rates for updates. If they want the source files to run the generator on their own machine that's fine too, but it costs extra.
The model isn't that much different from a wedding photographer.
Using a mac? I hope you've got xcode installed to give you command line tools. No, you can't get that to work without logging into your Apple account. Right, now just install these tools using homebrew. Oh, homebrew's giving some git error? Sorry, you're on your own. Got homebrew working? Right, better make sure you've got ruby and gem and python and nodejs installed. Still doesn't work? Oh, that's because you're missing redcarpet, just gem install redcarpet. It didn't work? Oh, guess I actually need a development version of ruby.
Moved to Linux? Good news, there's a jekyll package right there. Bad news is it's outdated and won't build your site. Time to install ruby and gem then use them to install jekyll. Didn't work? Oh, you don't want that version of ruby, you need the development version, gotta have the right files so you can compile things as they download.
So no, I don't recommend static site generation to anyone who isn't a veteran error-message-googler.
https://cloudcannon.com / https://forestry.io/ / https://www.siteleaf.com/
With all of them you can set up nice content type templates and get your client to put structured content.
For a general site that's going to be maintained by a non-technical audience? Absolutely not. They need a WYSIWYG editor instead of markdown. "Deploy" for them has to be a "publish" button. Keep it simple with a self-updating WordPress on WPEngine or similar.
For API documentation sites, I use Jekyll and Slate all the time. They're going to be maintained by developers so markdown is easy. Version control is key. And syntax highlighting is important. We use Jekyll at Okta and it's easy but powerful enough to solve the big problems quickly and easily.
I've got a smallish piece of JS that gives the client a WYSIWYG editor, which speaks to Firebase.
When Firebase gets an update, it triggers a rebuild.
Best of both worlds.
A real-world example would be the First Round Review (http://firstround.com/review/), designed by our studio (https://marquee.studio) and running on Proof.
I'll be doing a private release in few weeks for the beta subscribers.
Non-developer staff have been fine with this, editing Markdown files within the Github interface and adding the occasional PDF. If something doesn't look right on the test site, they can ask for advice.
The developer experience is great in static site generators such as Hugo, Gatsby, among others.
And finally, if your client needs to update content, you can use headless CMS such as Contentful, NetlifyCMS, Dato etc.
Remember that your investor investing in a company that does something similar to yours is not necessarily a bad thing. Competition can be a very good thing. It fosters innovation and creativity, helps keep things moving forward and brings more attention to emerging technologies, to name a few, etc. That investment may be better for your company than your presently realize.
Remember, one boat is a cruise; two boats make a race.
Correct me if I am wrong, but an investor's main interest to make money. They want you to succeed. If for some reason they are just milking you for information, remember you aren't under any obligation to tell them all your secrets. If the investor isn't a board member, you don't really have to tell them anything at all.
Don't stress too much about your investors. The only thing you can control is focusing on building a killer company. And you may find that your "competitor" sells a similar product to a different customer base, effectively making them not your competitor.
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 handle/screenname twice.
Do use unique 'throw away' email addresses.
Do use unique/long passphrases for everything.
Do use Tor browser with all plugins disabled.
Do use an OS like Tails if you're worried about leaking your true IP.
However, it's worth investigating in detail what exactly it is you worry about, and what privacy goals you have. Once you have a clear definition of those, write it down and think long and hard about whether it should inform your behavior. I used to be obsessed with privacy but after using this method I understood that I was in fact responding to a different set of emotions which manifested themselves into this. This led me to abandon my previous concerns and take the calculated risk between the convenience of internet services and the potential but nebulous harm that might come to me as a result of data trails.
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.
I mainly gave up sleep and early on, virtually all recreational time. Now that my kids are older I make time for dinners and plays with friends and family. I do woodworking when I am stressed or just want to piddle around. But I can honestly say, I gave up more sleep than any person should.
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.
Success is also in your mind - if we keep moving the goalposts further away as you're approaching it, you may never feel fully satisfied.
The best way I found to get me willingly motivated to shift the balance of things was taking time to reflect on myself and my life. After that, I never felt like I had given up on anything.
The Dicken's Process is a take on this exercise: http://www.endlesshumanpotential.com/Super_Human_Development...
I forget who said that, but I don't want to be successful at that price. In fact, right now I'd define "success" as "having a decent life without having to pay that kind of price".
Thinking about it more: why do you need Django at all? It sounds like you're just presenting static information?
Unless you are going to do a lot of client side interaction on the mobile like ordering, i'd recommend you to create a simple website. Use foundation or bootstrap to create a simple, responsive website.
If you really feel that you requirements can change over time towards more heavy interactivity, use django to create a json api that would be consumed by a responsive react based frontend exclusively using ajax calls (Look to reddit's mobile site for an example). This allows you to scale to native mobile apps if the need arises in the future.
Since you have zero experience with web and mobile, jumping head first into react native and cordova and mobile would be a big folly. Make and ship a regular, responsive website first before even thinking about mobile apps. Shipping out small but working apps and improving on them is better that spending months on an all encompassing platform that only exists on paper.
React/RN and Ionic would be my top framework suggestions. With React, you have to learn their specific UI syntax/JSX, then React Native syntax. With Ionic, you need to learn Angular and TypeScript, as well as their specific UI syntax.
Vivaldi's Four Seasons is another good one for this.
Barclay James Harvest. The story of how they got their name is interesting :)
Sometimes I'll venture into some female-fronted metal bands like Within Temptation or Delain too.
Regular heavy metal also is always fine - Iron Maiden, Judas Priest, some Dio.
Dream Theater is also quite a great progressive metal band, as well as their side project Liquid Tension Experiment.
Some solo guitarists make some great stuff - one of my personal favorites is Kiko Loureiro (Angra, Megadeth).
As far as non-metal artists I'll listen to while coding, one of my favorites is Gary Moore - he was an extraordinarily prolific artist, one of the most genre spanning more mainstream artists I listen to. I also like listening to Kate Bush as well.
I've listened to music of a lot of different genres too outside those whose artists I have listed - this might not work for everyone though. If I'm listening to something I like, I'm happy and generally avoid being distracted.
They have some free ad supported streams but the annual cost of ad-free $70 is totally worth it in my opinion.
My current favorite channels are Chillstep, Liquid DnB, Nu Disco, Chill & Tropical House. Various levels of repetitive bass to keep your leg and fingers twitching, and differing tempos to either raise or lower your heart rate, depending on what you need in the moment.
Web Browser Flash or mobile apps. http://www.di.fm
Over 22 hours of powerful movie, game soundtracks.
Gets updated with new songs all the time.
I also like these SomaFM stations:
Sometimes I will put on old episodes of Retronauts (https://retronauts.com). Otherwise I will usually listen to OCRemix Radio / Rainwave (https://rainwave.cc), a SiriusXM station, or an album I'm familiar with.
Can't listen if I'm venturing into new territory; learning requires quiet. Otherwise it's Wave music. eg wave, vaporwave, synthwave, witch house, future funk, future beats etc
Other times it's various forms of electronic music. House, trance, europop, Hi-NRG, synthwave/darkwave, etc.
And then sometimes I go with classical music. Bach, Vivaldi, Verdi, Wagner, Strauss, Orff, etc.
As far as specifics go, here's some stuff I've listened to lately:
One other thing I'll sometimes do is put on a movie in the background, with the volume turned down fairly low... just enough that I hear some babble and noise, but not enough that I get caught up in what's going on. This only works if I use a movie I've seen / heard many times, so I already know what's happening and won't get drawn into the story. So, something like The Matrix, Antitrust, Tron:Legacy, Hackers, Sneakers, The Social Network, etc.
It's relaxing, rather dronic but with enough variation to not be boring.
A few favorites:
Also an assortment of Psy-Trance, Coldwave, and Industrial generes.
Tool, A Perfect Circle, Ashes Divide for a mellow, metal mood.
Vitamin String Quartet when I want something familiar, but classical in taste
Nicklecreek, Chris Thile, Old Crow Medicine Show, Punch Brothers for a folk fix.
Kid Ory when a need a New Orleans Jazz pick-me-up
It's been my go-to for 7 or 8 years now. Something about it just triggers the best of my skills to come out.
Ibiza chill sessions (annual albums) Melody AMThe altogetherLittle dragon (NPR remix)
a lot of electric guitar - Steve Vai, joe satriani
Spotify Link: https://open.spotify.com/album/6yT9Q73eTMfx1aDWJiCVIt
Never fails to get me in the mood.
Edit: Add link to album
From Moby, Pink Floyd, Lindsey Stirling, Disturbed, and M83 are common.
They're free. They're long so you don't need to be interrupted to change a track. The really spacey jams put you in a creative mindspace.
Plus, one of the songwriters founded the EFF!
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?
Different sources say different things about this:
Does the story you want to tell include that 1-month old position? If not, don't include it! It's a resume, not a deposition.
Personal Disclosure is a desirable leadership trait. It's probably fine to leave it off your CV given the short tenure. However, once you start having conversations/interviews with a prospective employer -- do volunteer that information verbally.
Positive Spin: You'll want to share what you've learned in the past month and why that company turned out not to be a good match.
Going remote isn't as easy as what many devs are probably accustomed to, especially if you're new to the game (as the tech hiring market has been :fire:).
If you're going to go remote, you need to realize a few things:
- You're competing against waaay more candidates. You need to stand out, not just be another warm body.
- You need to demonstrate, without a doubt, that you can/have worked autonomously.
- You need to demonstrate, without a doubt, that you can/have been self managing in the past.
- You need to demonstrate that you provide a better bang-for-the-buck than anyone else who has applied
Source: Working and hiring remotely for the last 7-ish years.
1. I quit my office job.
Worked there for about 7 years. I saved some money and got unemployment benefits (60% of my previous salary) so I had 1 year to do nothing.
2. I did some OSS stuff
OSS teams are almost all remote and they love contributors. So it's not hard to find some and ... well contribute?
It's an easy way to get into a remote team.
I didn't do it for long, because I don't like maintenance dev stuff, which working on Firefox stuff basically is if you a contributor for Mozilla, haha.
3. Do some remote studying
I started a master in computer science at a remote university here in Germany. They had two mandatory programming projects I had to do with a remote team of other students.
We did much coordination via slack, hangouts etc.
This was also a good way to get into the remote workflow.
4. Post your CV online and wait
I saved money for 2 years, so after one year of OSS and remote projects, I posted my CV on some recruiting sites (Angellist, Stackoverflow, etc.) and waited.
Took 3 months till I started my first remote job. Talked to 5-6 companies. Some never called back, some took 2 months to tell me they want/don't want me.
5. Worked remote for 2 years
I worked remote for 2 years in a startup that was about 300km away from me. Went there every 2 months for a day or two. They were rather picky with their remote employees and always tried to persuade me into working in-office. One day they they lost a investor and had to let a few people go, since I was the only remote guy left, I guess they simply wanted to get rid of me, haha. So I got fired.
6. Started freelancing
With >2 years of remote experience and >10 years of general developer experience, I started freelancing.
Got 2 projects. One I found by pure luck online in some project small directory and one in the company where my girlfriend works. Both don't care how and where I work.
In other words -- if you are looking too hard for remote work, that could be exactly what is holding you back. Look for the jobs that match your skills and background first. Then from those jobs that you know are a good match, prioritize the ones that are remote.
Be a Distributed systems specialist.Or a machine learning guru.write a book, go talk at meetups and get them posted online. You need a differentiating factor.
If you think people are going to trust you to work remote because you have 3 years of PHP backend experience, you're wrong. You need to be trusted in the greater community, to have presence. If anything you should be landing gigs through referrals, not applying with your CV. So how do you get from point a to b? network. Meet people. Go to lots and lots of meetups and talk at them.
A month ago I didn't even have any web presence because I didn't need it. Since then I've polished my CV, made web portfolio, and every few hours I check each site that posts Remote/Freelance jobs. . .
- You need to stand out, have a decent Github profile and/or solid code samples that you can share
- Demonstrate the ability to work autonomously
- Be patient, it takes time.
It's also worth mentioning that if you do get rejected ask them what you can work on. Helps to know what you can do to bet better and get a remote gig later!
Source: working remote for the past year
I would not want to work remotely for a company that hasn't gotten used to distributed workers yet.
After about 2 years of working in the office I told my manager that I would be moving to another state and that I was interviewing for remote positions. I also said I would stop interviewing if they gave me the ability to work remotely, which they did (and I was very, very happy to stay). It is going to be difficult to find your first remote job, but this is how I did it.
The company I'm working for is fairly distributed across the globe, and a lot of the computer engineers are part time remote (three days at home, two days at office, say). But typically no one is fully remote at this company. I came to work on site at a city where they had an office and a few employees but it was a satellite office and I worked there for a year or so. Then the boss that was managing that office left the company and they decided to let the remaining workers from that city go full remote (it was just two of us and they didn't want to continue paying for an office for just two of us). Since I was going to be full time remote anyways I kept working for them but I can live whereever I want so I just relocated back to my hometown.
I did have to push at one or two points to ensure I ended up full time remote, but mostly it was luck, in other words. This company knows I'm a good worker and responsible from my year working on site so that may be why I can get away with the full time remote whereas for new people joining a company I can see how it would be a hard sell.
The above are just a few questions to start off with. You'll find better answers once you give a better idea of what you've got going and what you're already doing.
In other words, I controlled more bargaining chips. I feel that is going to need to be true for any remote position. You need to be experienced and valuable enough that letting you work remotely is worth having you over someone on-site (for non-remote cultures).
For remote-cultures, the talent pool interested in remote work and the sheer number of people interested in it makes it far more competitive. As deedubaya said in their earlier response. You need to show without-a-doubt why they should choose you over anyone else. The competition is more fierce.
In my experience we used affinity with older CPUs to improve single thread performance. Recently it doesn't make much difference.
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's hard to describe. Rather, the story is easy to describe: it concerns the travel of a man from a future age. Nothing is what it seems.
There was a moment when I realized "Oh shit. This is real." The book may be fiction but almost nothing about it is fake. The Big Questions, in History, in Philosophy, in Politics, in Theology, in Technological Progress, in interpreting reality, it's all there.
Most non-fiction work of fiction I've ever read, and the best one, above Tolkien, above the Bible, it towers above all texts I have read.
It will take multiple reads to understand what it is saying, different parts will appeal to you each time.
In terms of the people you know: imagine that Stewart Brand, Peter Thiel and Christopher Nolan somehow had a lovechild - it would be The Book of the New Sun.
Very thought provoking look at recycling and design for eventual recycling.
This dude can explain grand ideas encompassing human civilization in (relatively) simple, brief, and entertaining language and I can't get enough of it. I think Homo Deus's forward focus will appeal to the HN crowd more than his more famous Sapiens.
Algorithmics The spirit of computing: this is a really great exploration of 'algorithmic' thinking, accessible to anyone:
Soul of a new machine: the book won the pulitzer, it's about now defunct Data General and implementing a new machine in the early 80's:
Marooned in Realtime: Vernor Vinge on a group of people who missed the singularity, and try to understand what happened. A damn good detective story too:
Battle Cry of Freedom by James McPherson.
Probably one of the best books about the Civil War that has been written.
Infinite in All Directions, Freeman Dyson : just a book of his thoughts, but I really appreciated his perspective on respect between religion/spirituality and science.
Ignition! An informal history of liquid rocket propellants, J.D. Clark : I picked up a copy of this in a roadside bookstore on a lark. Entertaining tales of people blowing themselves up in the name of science.
Apollo 11 Press kit : My grandmother was a journalist for Florida Today during the space race, and she gave me her copy. It is amazing to see how much detail was provided. I don't know if our modern press ever gets press kits like these, but it was not dumbed-down much at all, which was very nice to see.
The Adventures of Samurai Cat, Mark Rogers : Silly fun. Kind of like if Bored of the Rings had been written by Jerry Bruckheimer and Spider Jerusalem.
Into the cool, Sagan and Schnieder : about complexity and thermodynamics. Written for a layperson, I still learned a lot from it.
Order out of Chaos, Prigogine and Stengers : More thermo, also written for lay audience, also learned a lot from it.
Controlled Thermonuclear Reactions, L. Artsimovich : Of all the plasma physics books I have read (many) this is the one I remember most. Rather out-of-date now, it contains loads of information about the early Soviet fusion program, with pictures and discussion of now-forgotten experiments.
Tony Horwitz, all works -- especially _Baghdad Without a Map_ (which will leave you with a much healthier view of the modern Middle East) and _Confederates in the Attic_ (a dress-rehearsal for the Age of Trump?).
Pearl Buck, _Sons_. (Best to read _The Good Earth_ first, but you've probably already read it.) I doubt it's a very accurate depiction of China, and the characters' morality is hair-raising (while the narrator is so far off the deep end that he/she is impossible to take seriously); but it's a memorable adventure story firmly grounded in the plausible, and it dramatizes some important lessons about the dangers that can afflict families and middle age.
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.
It's a part travel book, a part geopolitical analysis. In the hindsight, Kaplan was probably wrong on many things, and his views were US and West centric, but personally it was inspiring read, a travel book that was much more than a travel book.
Romance of the Three Kingdoms
* https://www.youtube.com/watch?v=V1vQf4qyMXg (a talk by the author)
Corner cases in the Java programming language:
* https://www.youtube.com/watch?v=wbp-3BJWsU8 (a talk by the author)
Influential to someone whose practices and path to success in engineering doesn't follow the normal pattern but is still valid. (At least it was influential to me.)
I also enjoyed Jonathon Livingston Seagull, which seems to have fallen out of favour recently.
Its about how hard it was to program the Atari 2600 and the clever tricks required to get the most out of the machine. One of my favorite anecdotes was that in I believe Yars revenge, one of the sound effects was produce by reusing a section of code as sound data because it sounded good enough.
History of thinking is the book which Sapiens / Homo Deus would like to be.I think it is one of the best complete arguments on the nature of our relationship to computers.
If you've ever read "Code" by Charles Petzold, it's as illuminating as that was.
Also a little bit tragic, makes you realize there is a lot of fun and beauty and even social history in math. I didn't realize there is also a lot of complaints in how math is taught, and that the arithmetic we all learn is considered the most boring part.
The Happiness Hypothesis - Jonathan Haidt
Alamut - Vladimir Bartol
Non Stop - Brian Aldiss
A fortune teller told me - Tiziano Terzani
My username isn't a co-incidence.
Zima Blue by Alastair Reynolds
A Dream of Wessex by Christopher Priest
See, providers have regressed (economy of scale and all) to the degree where their responses to inquiries/emails/requests are indiscernible from early wannabe AI chatbot implementations.
Take the time to email/call your potential provider and ask questions regarding the service. Do the responses pass the smell test? Is sales completely clueless and unable to answer questions about simple technical matters (red flag)? Can support carry out requests that aren't scripted?
Trust your instinct and common sense.
If you are referring to benchmarking, I might do a few quick tests with bonnie++ and openssl speed tests for the server itself and some iperf3 tests for the network throughput.
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.