It took 2 years for the good guys to locate a bug in a popular open-source program. Who knows how many other bugs are lurking out there, especially in closed-source software - last I checked, IIS still commands a respectable market share.
Oh yeah, definitely.
Seriously, I could see this being really useful if it works. I'd be very interested in giving it a try.
Google Adwords Keyword Planner: https://adwords.google.com/KeywordPlanner
It even has pictures. After that, I would suggest that you search for specific issues that crop up as you work on projects.
reddit.com/r/bigseo is one of the better free communities that I know of. Most open-entry communities related to SEO become toxic cesspools almost immediately, especially at scale.
In all seriousness I have been on my own for almost 15 years and I first made the leap by securing a contract from a client of my former employer. My employer was ok with it because they were moving in a different direction so the first step out the door was like having a job but I changed status from employee to contractor. The wonderful thing was the customer got me for cheaper than they were paying my employer and I got a big raise. Definition of a 'win-win'.
For most people you are going to have to get out there and do some sales work but what I suggest to people making this leap is to sell yourself to an agency, not individual customers. There are lots of consulting firms who need people and they are afraid to bring on full time work because their variations in work are often from contract to contract. If they land a gig for 4 people and 6 months of work yet only have 3 people they have to spend the time and money to go out and hire someone - then once the gig is done they have to keep that person busy. If they can find someone who will work on the project as a sub-contractor it is much more valuable to them.
Doing sub-contract work like this is a great way to give you steady income while you network and build a portfolio of direct customers where you can make better margins.
Another thing I would advise, realize that your rate represents a perceived value. If I tell you my rate is $40/hr then you think one thing - if I tell you my rate is $195 per hour you freak out, say that is crazy and then think - this guy must be amazing if people pay him that. It changes the mindset and even if you cannot get them signed at 195, it makes 150 sound like a bargain. The catch - you have to be worth it.
I'm trying to make this transition as well. I think it basically boils down to the following:Ask lots of people what their problems are (lead generation, paperwork and team coordination appear common themes), explain how you can help them out while using non-technical talk and then charge them. I'm hopefully going to start doing that next week.
I'm a big proponent of being open about finances and the financial struggle of doing startups - especially when you have kids and one stay at home parent in my case.
Loss of salary for 1 year, 2 months Does not include loss of 401k match or ESPP -$140,000 Successful Kickstarter @ $25k +$20,000 8 week contracting project @ 20hrs / week +$16,000 Living expenses for 14 months (savings/stocks) -$70,000 Post funding difference in salary from market rate -$50,000 (year 1) -$40,000 (year 2)
My wife randomly reminds me what started off as a 3 month experiment has turned into a 3 year "adventure". She's not adventurous though :).
When I heard the 64k figure I nearly had a heart attack! Jiminy Jillikers thats a lot of money.
Then I started a cheap jewelry retail website. I did small and invested only $800 for inventory. The site ran on Magento and cheap PHP hosting like $7/mo. I got literally zero sales after 8 months. I went down San Fran Piers and saw they were selling same thing for cheap. Doh! I gave up the business and put away all inventory, which wasn't much. However, the time spent on taking photos and upload hundreds of $2 products was all wasted. It's plain stupid.
The real killer is the time, not the $s out of pocket. My estimated hourly rate varies a lot based on what I'm doing - but it would lead to a significant increase if included.
It was a few years since I used it last and there may be something even more amazing out there now. You can easily have a large data registration system up and running in under a day. There are even 3rd party modules that extend django-admin for domain specific tasks.
Need more powerful customization? https://github.com/activescaffold/active_scaffold
According to what I've read about, getting a CRUD app up and running in Rails is as easy as 1 line in the commandline.
Is this what you are referring to?
I have to break projects apart into smaller pieces so I can show myself I'm progressing towards the end goal and not just stuck on a treadmill.
Once started, it's much easier to keep going. This applies to just about everything I can think of. Take the first step, build momentum.
Having goals or soft deadlines helps too. Tell a friend you're going to show them progress by a certain time.
Is it possible this is a physiological health issue (like ADHD)? I don't really condone medicine unless absolutely necessary. Doing exercise right before work can sometimes help relax and keep you focused.
Most studies tend to point to the prefrontal cortex as the culprit for procastincation. It seems the more you stay on task, the easier it is over time. Like exercising a muscle.
But certainly all animals, once fed, become lazy. It's not just humans. All I can say is good luck and don't stop the good fight against scumbag brain.
There are people out there who don't procrastinate as much as others, but I think you'll find that you procrastinate as much as you need it.
Sure this is one type of procrastination, however there are other types which include not doing things because you're being lazy (this is hard to define if you need a break), or your attention span or concentration levels are just not there.
I used to procrastinate and I still do. If I wanted something so bad, I'd get it however it hasn't affected me to the point where I can't accomplish anything - I am just lazy.
EDIT: Also you have to think about your productivity levels for the hours you worked? Were you extremely productive?Perhaps you hit your limit? I guess overall, the important thing here is that you've recognised something you want to change and perhaps the actions you take will enable you to work more efficiently in the future.
Instead, I sent out a security alert email to everyone with links to ArsTechnica article http://arstechnica.com/security/2014/04/critical-crypto-bug-... and Heartbleed bug http://heartbleed.com/ for more information and a link to our password reset page.
We also have a security alert on user dashboard that they see after logging into our system.
I think forcing users to change passwords or taking a passive email stance when there is a chance most might not read their email are both not ideal solutions
"From the Sublime office: We are not selling to Github, we are not stopping development of Sublime. As noted by another poster, this is effectively a one man band (I'm here to answer sales questions, process your refunds and get the mail so Jon doesn't have to). The past few months of silence on the development front have been a combination of boring back end work (taxes, new payment platform) as well as a break for the man driving this whole operation. No, we don't currently have a loud internet presence, which is can be an understandable cause for concern-something we intend to address once we move into the production version of 3. There is a vision for continued growth and development, there is momentum behind Sublime Text; it is not dead, just slow.
I'm happy to field any specific questions you might have about the Sublime's future: email@example.com."
Hell, the only reason I tend to drop editors (which happens rarely) is exactly because there's so much development that it has become bloated with bells and whistles I don't need.
It's an editor, not a fashion item.
I have almost nothing to complaint about ST, I've been using the version 3 regularly for a few months. Off course, I want new features (and a few bugfixes, damn you single quotes bug), but I'm pretty happy.
Furthermore, why is Windows and Linux only an afterthought here? That suggests to me that further down the road, new updates and bug fixes will be released for the Mac version, with the Windows and Linux versions left to suffer.
I'll stick with Sublime and VIM for the foreseeable, thanks.
Roughing it with Notepad++ now.
How do this kind of threads get to 1st page at HN?!
To wit: TLS Heartbeats were originally intended for DTLS (in fact, the first draft was apparently DTLS-specific). Datagram protocols have a problem: if datagrams are too large, the IP protocol will need to fragment them. Fragmentation is calamitous for performance and reliability. So sizing datagrams is tricky. One technique for solving that is "path MTU discovery". The original use case for TLS Heartbeats was, as the RFC spells out clearly, PMTU discovery.
The payload/padding split exists so that one side of the protocol can send large messages, and the counterparty can reply with smaller ones, relying on the fact that the message includes discardable padding.
It's not a good protocol. The functionality is implemented at the wrong layer. And the inclusion of the extension into TCP TLS was a mistake, one (also) discussed on the mailing list. Unfortunately, the way standards work, it's easier to say "yes" to new features than "no", and it was easier to add the extension to both TCP TLS and DTLS than it was to hash out the argument of whether TCP TLS needed the feature.
The bug was a typical C slip-up. You see it everywhere. It happens. Yes, the stakes are much higher here, but I don't think the fact that Robin also authored RFC 6520 makes it more suspicious.
But something that seems just wrong is the expectation that "someone else" (the small all-volunteer OpenSSL team) should have taken more time away from their day jobs and family to: have different people writing specs and implementation, writing more tests, running static analysis tools, have code more reviews, and refactored code to be more readable. But if OpenSSL is so critical to your privacy, security and business, where were your contributions to writing those tests and code reviews?
I don't mean that every developer must contribute code to be allowed to have an opinion - but most of the lamentation at "what the OpenSSL team should have done" never considers who exactly should be spending time or money on this extra effort.
I do sometimes notice that the breadth of his hacking aptitude might be less than in a younger person; he doesn't always grok new concepts as quickly when they are outside his immediate area of interest. Eg., it took me a long while to convince him that automated testing was a really important part of modern software development. But I can understand how this would seem quite alien to somebody who first learned to program on punch-cards -- and since he's happy to delegate things beyond his immediate area of focus, it hasn't been a problem.
So, anecdotally: medical issues permitting, there's absolutely no reason you need to scale back on your passion for hacking passion as you age, although the breadth of your hacking might need to narrow somewhat.
I'm 68, and I should add that "hacker" meant something different when I first heard it used. :)
> Are you still employed or retired?
I'm retired, but I still program for enjoyment. I have a line of free Android apps published:
> How does one's passion and aptitude for hacking evolve towards this part of one's life?
If anything, programming has become more important to me as I have gotten older, for the same reason that mathematics has greater appeal to a maturing mind -- it represents a rational counterpoint to a world that, over time, seems to make less sense.
My passion and aptitude for hacking are higher than ever!
I struggled all day yesterday, trying to organize parameters to feed an engine to propagate data that would generate code for a new project. Woke up at 4 a.m. with a hypothesis, and built a working prototype before breakfast. What a great day already.
I have written over a million lines of commercial code since 1979, still work serving customers pretty much full time and have enough time left for another 20 to 30 hours per week on personal projects. I have at least one or two more start ups in me, for sure.
If this industry was like it was when I started, before PCs and the internet, and I had to sling COBOL for enterprises, I'd probably be a greeter at Walmart now, planning for social security. But fortunately our world has changed and it's so much more interesting and fun. If I ever do retire, I'll probably still keep building stuff forever.
The 2 best things: software is everywhere and involved in everything now. I can't imagine not finding an interesting application. And perhaps more importantly, things change so fast, there's always something newer and possibly more interesting right around the corner. (I wish I had more time to explore node, go, and some more frameworks, but I'm so busy...)
Between building software, riding my bike, drinking great beer, and getting laid every once in a while, I still feel like 25. I don't want it to ever end.
I think anyone who builds software should feel like I do. I hope most of you do. Prepare for a nice long ride!
One guy I met was 65 and about to start up another company. He was sharp and definitely knew what he was doing.
The group I was in at Microsoft (Xbox) had David Cutler in it; I think he had just turned 70. I didn't work with him closely, but he was definitely prolific (also more than a bit controversial, politically, at MS, but he had mellowed out quite a bit when I met him).
I'm 53 and have high hopes. :-)
Now I am 66, still fully employed, latest thing you might have heard (of) is the WiiU Audio engine. For unrelated reasons I went through a battery of cognitive function tests a couple of years ago and came out sharper than I was at 19 by at least a full sigma. I have no plans to retire.
I would add Don Knuth to the the honors list. And Minsky. Tony Hoare. Ted Nelson. Alan Kay. The original Homebrew Club members are getting up there. And about 100 others I know but you probably won't recognize. A peer group in which I am merely average.
As to selectivity and numbers. Yes, there have been programmers since WWII. But mot that many. So my age group has far fewer members than the upcoming geriatric programmer generation. But I have noticed one very encouraging feature we share: barring serious health issues (and even in spite of in some cases), a high percentage are still very active and passionate. No comment on causality, could easily be that it takes a active mind of a peculiar bent to get into the field in the first place and these just last, or it could be that the mental excersize it takes to keep relevant keeps the mind young, or both. But I'm pretty sure I won't last long if I have to stop doing it.
His skillset goes from the EPROM and PLC level, through C/C++, and on to actual 20 ton open die forging. I've seen him take a break from debugging a C++ driver for a hydraulic beam loader to replace live high voltage fuses with a hot stick rather than wait for the power company. It really puts what we refer to as 'full-stack' into perspective.
I've got to say that my coding bug rate seems worse and debug time seems substantially longer and more tedious than I remember. My first coding was assembler for an IBM 7094 as a student at the University of Illinois some 50+ years ago. Been doing it ever since.
BTW, I'm looking for someone that can transfer the tech to a paid Android app. Somebody 70ish would be way cool. Kernel level audio skills a must for global filter insertion.
Listening to good jazz helps to stay in shape(there's some scientific data that proves music activates something in the brain, not sure what exactly, but it seems to work :-).
As someone noted earlier in this thread, there's nothing new in programming for the last 30-40 years. You just need to learn 100 tricks, you learn them early, and then the age makes no difference. What changes is that you don't think of career any more, and think about money much less, which makes you a very bad candidate for bullshit work. You can imagine the consequences.
I was on the Internet before the WWW.
I am 63, but immature for my age.
If anything, I'm excited at getting older and being able to see where all this rapid evolution is taking us.
@People over 60 here: What is it like learning and keeping up with the flurry of new technologies at your age? Do you find it more difficult to grasp with age or does it get easier?
This year I'm learning Python for fun.
Never gets old :o)
Do what you love, love what you do, throw in a generous helping of luck and you can have a stimulating, productive and enjoyable professional life well into your 70s if not later.
How does one's passion and aptitude for hacking evolve towards this part of one's life ?
In general, I think one has to be careful about making generalizations here regarding aptitude. LedgerSMB is hard to get into because with ERP/Accounting software the domain knowledge requirements are significantly higher than the fluid intelligence requirements and domain knowledge increases as we get older. In LedgerSMB I have generally found that older programmers contribute better code than younger programmers precisely for this reason. Some of the biggest bugs we have ever had (the ones that caused us to pull 1.2.0 and 1.2.1) were caused by overlooking a critical part of domain knowledge.
So I dont think things get particularly worse. The fields of excellence may change however.
I was lucky enough to be taught by John. He believes he may have been one of the first people to make computer music - spending precious compute cycles at Cambridge with a speaker hooked up instead of an oscilloscope.
He's ~69, and last time we spoke a few years ago, he and some peers were still writing and selling their compiler product (http://www.codemist.co.uk/index.html), John was still active in the Csound community (C dialect for computer music), and dabbling with computer algebra.
Having known John outside of lectures (and meeting him at the age of ~58), I'd say he has a childlike fascination with the world - constant curiosity and a lot of enthusiasm. And also understanding that computer science is cyclical, that rediscovery is part of life, and he could add deep experience each time around.
I don't think that ed wiessman(edw519) is 60 yet but his advice seems like coming from someone who has been in the business of programming for centuries.
The most depressing graph I've seen is figure 1 in Images of the Cognitive Brain Across Age and Culture. It shows how our cognitive abilities decline soon after we reach maturity. Starting in our 20s, we lose about 6 IQ points per decade; more in our 70s and 80s. That means someone in the top 1% in high school (IQ 135) would be down to average intelligence by the time they were in their 80s.
On the bright side, the decline in raw cognitive horsepower is offset by gains in knowledge. In fact, knowledge more than offsets it in most disciplines. Our peak productivity is usually in our 40's and declines much more slowly than one would expect.
Still, if you want to keep building cool stuff when you're older, it's important to prepare now. The best thing you can do is stay healthy and active. To return to the marathon analogy: A 55 year-old might not set a world record, but with the right training, nutrition, and possibly performance-enhancing drugs, they can beat >95% of people half their age.
Finally, to everyone mentioned in this thread: Well done! I hope to follow your example.
Such an attacker can obviously also block the CRL/OCSP lookup if one is made. Even with revocation checking enabled, no browser that I know of will fail a TLS handshake if the revocation check is blocked.
(You can configure Firefox to do this. Tools -> Options -> Advanced -> Encryption -> Validation, check the box for "When an OCSP server connection fails, treat the certificate as invalid" - so says https://wiki.mozilla.org/CA:OCSP-HardFail)
I claim that soft-fail revocation checking is basically nonsense. That's the point that I'm making in https://www.imperialviolet.org/2012/02/05/crlsets.html.
Making it hard-fail isn't viable: it makes OCSP servers a single point of failure for huge parts of the web. That's why Chrome has a CRLSet system that actually can achieve real goals. The attacker has to persistently MITM the client in order to block the CRLSet update.
The CRLSet is limited in size. I had hoped that CAs would use the reason code mechanism in CRLs to remove the "administrative" revocations that dominate their CRLs. (Those are revocations where there's no suggestion of compromise.) Some do, but most don't.
It's not true that the CRLSet doesn't include any Comodo or Symantec (who now own Verisign's old CA business) CRLs. In fact, Symantec/Verisign CRLs are the biggest contributor to the CRLSet.
But it's true that the CRLSet is limited in size. We focus on CRLs for CA and EV certificates. I don't think the world has a great answer to the revocation problem when certificates are valid longer and longer periods.
+------------------------------------+ | 4,376 people received this message | | | | [Cool, it was ] [It was a waste] | | [important and] [of my time to ] | | [worthy of our] [ read this ] | | [ time ] [ message ] | | | +------------------------------------+
Edit: As I've said in the past when posting ideas on HN, if you think this is worth doing, please run with it! I make no claim on "owning" the idea, and all I ask is that if it makes you a billionaire, you commission of bust of me to install in your parlor. (Bronze or marble only, please.)
Need to store all data locally for privacy reasons, and have a way to logically group urls by content and bring them back to the front occasionally (maybe with some kind of gamification?) so they don't disappear.
We need to figure out how to defeat the internet echo chamber effect.
Notice how often, when a community gets started between a small group of people(such as early Reddit or HN), it's a place of intelligent, productive discussion, where people measure what they say instead of just spouting extreme rhetoric?
Yet, once these communities grow, you inevitably see the "How bout dem Cowboys" problem, where it seems like the point of discussion is more to get the most approval instead of trying to argue a point, and where anyone with a disagreeing opinion feels unwelcome even if they're willing to put a lot of effort into their response?
I haven't quite figured out how to solve it, but I really want to. I've been a part of several online communities like that now, and it always ends up the same way. Once it gets big enough, finding good conversation gets very rare.
Finding your niche is easy. Finding clients in your niche is like climbing Mt. Everest
As a student, the act of learning on your own is probably worth it regardless of which direction you choose. But if you're thinking career, you should prioritize with a little more specificity.
Edit: wrong word
I think Paper53 was built on one of these platforms.
Yes, it's worth it.
> Or should I not bother and simply specialize in web jobs?
IMHO, if you really do want to specialize in web jobs, then perhaps mobile development is part of it.
- Learned helplessness is one of the biggest enemies to learning, but it's insidious in that sufferers don't recognize it. Often, I'll try to teach someone something, and I'll know for sure that they can and will grasp a concept, but they'll just stop short on their own accord, chalking failure up to their own (imagined) inherent inability rather than a specific situational lack of something. Usually accompanied with a general statement like "I'm just not a technical person" or "I'm not that smart" (sometimes not voiced) or "I don't get math" or "I'm more of a right-brain person". It's interesting that of the tons of much likelier reasons for failure (bad teaching, not enough practice, not having the right foundation), the most commonly chosen is "it's me".
The opposite side to this is to incorporate failure and retrial as part of the learning process, and to realize that the failure is a specific situation and mostly not a general statement of ability.
Anyway, when they're encouraged a bit and they do succeed, their surprise and satisfaction is one of my favourite things in the world.
- Psychology is not bullshit like I used to think before.
- Introspection and self-examination is very important and ignoring your inner world does not make your problems go away. Regularly taking time to consider your thoughts, worries, knee-jerk reactions, big life events, priorities is a great idea, and keeps problems from bottling up. A multitude of lingering things on your mind that don't seem immediate on their own can add up fast. I didn't even know this could happen until it did to me.
As a positive result though, I discovered a whole new meta-level of thought. Observing the process through which thoughts materialize in my mind is enlightening. Watching chains of thought develop step by step uncovers biases and thought-tendencies that are often unconscious but can be damaging.
It also promotes self-honesty, which sometimes saves you a lot of time and money and is often a great antidote to ignorance. There isn't a switch you can flip to be more objective but a decent attempt helps.
- When people say things, don't forget to think about why they're saying them. Often this provides valuable perspective. What's motivating them to say that? Is it conscious? Sometimes a pipe is a pipe, but sometimes it's not. For example, if someone tells you "never trust women", concluding that the person has probably been severely hurt by women before (conclusion from asking why the person said this) is much more valuable than concluding women are evil (the direct conclusion).
This affects your ability to influence others and be influenced by others.
The takeaway for you receiving wisdom is to be open to things that you are not yet ready to hear, to remember them and keep them in mind as it may apply to you in the future when you are ready.
If you need to share wisdom, empathise with where the receiver is currently and tell them what they're ready to hear based on where they are today (or will shortly be).
Robin Hanson has some extensive descriptions of what I mean, with the crucial insight that "X is not about Y", and that rationalization may be the original, evolutionary purpose of rational thinking rather than its perversion. He even offers remedies if you consider it a problem.
The reasonable person asks for half the cake, the unreasonable person asks for the whole cake.
They compromise and split the difference - the unreasonable person gets three quarters of the cake and the reasonable person gets a quarter.
[I wish I knew the origins of this - I heard it years ago.]
The tricky part is, when you're talking to someone, to figure out the boundaries of their viewpoint and take that into account when you communicate.
The trickier part is seeing the boundaries of your own viewpoint and forcing them wider. This is hard as your view of the narrowness of your own viewpoint is limited by the narrowness of your own viewpoint.
More often than most people realize, their deep wishes can be accomplished by another way than working your butt off or winning the lottery.
My motivation for being rich (in the monetary sense) would be that I don't have to work anymore. My deeper wish is the absense of authority (a boss) and to be able to spend more time with my children. If you think of it that way, it would be crazy to work more hours, right? I work 4 days a week now, hardly no overtime, and my boss values responsible individuals more than mindless office drones. I have more than enough time to see my children growing up, and even enough time for some challenging side projects and hobbies. Which brings me to another epiphany, I guess: time might be money, but money != time. Time you spend with your kids can never be taken away from you, time you don't spend with your kids can never be brought back. It's gone forever.
I'm the richest man in the world.
Although the saint puts himself last, he finds himself in the lead.
Although he is not self-concerned, he finds himself accomplished.
It is because he is not focused on self-interests and hence can fulfill his true nature.
I couldn't even remember what the problem had been because it was totally, and completely, solved.
I started to think about what this might mean for finding answers to questions. Perhaps people who have TRULY solved certain problems aren't the ones talking the most about them.
- If you focus on the money you won't get anywhere. You must focus on the creation of value for other people in an area that will allow for exponential customer growth. It's all about serving other people at scale. Getting rich is the side effect of this. The process accelerates if you love what you are doing and are having fun.
* On human relations:
- You are never too talented, too smart or too good looking to burn bridges, think less about others or not make an effort to be liked by all and treat everyone with respect and courtesy. Not doing this will always come back to haunt you.
- No matter how bad things get in your family never betray your family member's trust.
- Be as gracious as you can to those who are disrespectful to you, pivot in your mind and thank them for their encouragement. Use it as fuel.
* On getting stuff done:
- Focus. Multitasking is a myth.
- Forget doing stuff solo, you need a team to do anything really amazing. Each team member needs to know their strengths and weaknesses and your team should be a cohesive and complementary whole where strengths cover weaknesses.
Human advancement has come mostly from markets and freed up the thinking man.
People aren't interested in facts or the truth, they want the story.
Human change is extremely slow and only happens in iterations.
Poor people pay interest, rich people collect it.
If you put something out there for sale, people will buy it, somehow.
Epiphany 1: one day I realized that Bresenham's line algorithm wasn't just a way to draw lines. In reality, it linearly interpolates values over a range. Example: get the gradient/color values along a horizontal line from x0,color0 to x1,color1.
Epiphany 2: The 2nd big "aha" moment was when I worked for a machine tool company and someone explained how our ball screws (a big threaded rod that moves a tool or cross slide when you turn it) was "mapped" so we could tell what the error was at each point and thus correct for that error with a resulting greater accuracy. That concept can be applied to all kinds of problems. For example: Instead of making a "perfect" lens at great expense, you can make a "map" of the lens's imperfections and correct the image in software.
I used to be crippled by some social settings, but identified the root cause of the paralysis from a very specific childhood event, rationalized against it, and was able to overcome it with practice.
Anyone with more knowledge behind the psychology care to elaborate/provide some resources? Thanks
Race, money, even colors like blue and green only exist in a particular social context.
- Some people look at the world as a series of things that happen to them. They relish the sympathy and attention they get. Do not befriend these people, they will drain you emotionally, and you might be the next person they accuse of doing them wrong.
- Instead, think of the world as a set of resources provided to you for the purposes of achieving your goals.
But most of all, remembering I am just a person as well. No better or worse than anyone else.
Maybe it sounds obvious, but it truly helped me in life.
That happiness is just a matter of wanting less as opposed to having more.
And learning about the financial crossover point was another light-bulb moment. When you can save most of what you earn, to get to a point where working isn't necessary, but a pleasure..
My way of re-phrasing "90 percent of success is just showing up".
Tons of people will buy stuff for reasons you can't even conceive.
The difference between being poor and having a bright future has a lot to do with knowledge and awareness, more than initial means.
There are heaps of differences between people of different cultures, religions, countries, but there are still very strong common elements you can use as a basis to work together.
Building a solid network and community around you is a big driver for luck, probably more than your own skills.
Time is more valuable than money and things. It can't be regained.
Value experiences over things. Experiences last a lifetime, things don't.
Most people would be depressed with this epiphany but for me, it was liberating.
Being smarter might actually be harmful as the human brain isn't good at filtering all the impressions that the person feels with a higher IQs. For instance, a high IQ often comes with social anxiety, autism and other mental restrictions that lessen the person's capability.
For IQs above 140, people become more specialized from what I've seen. They might be very useful to solve specific problems such as curing cancer/inventing the theory of relativity, but they have a hard time executing a bigger vision involving hundreds of employees and knowledge across numerous fields as one needs to create a startup.
I believe the sweet spot, where a human being can have the biggest impact on the world is somewhere between 130-140. This is an IQ, where a person can understand pretty much everything, but isn't overwhelmed by all the input it gets.
- If you want something, the responsibility of getting that lies on you and you alone. You are responsible for both success and failure.
- To get what you want, 'You should do what it takes'. Even if that's not within the moral/ethical/acceptable norms of the society. Or unpleasant or unhelpful to people people around you.
- You will either follow this and rise, or will be used(and then thrown) by those who follow this. Where you want to be, you decide.
- When you get successful and rich, what ever you do becomes right. Even if that was actually wrong per everybody else before.
She presented at the first RobotsConf and it was really compelling and could inspire other kids to start building things: http://teamtreehouse.com/library/robotsconf-2013/super-aweso...
I have to say I envied you for a moment. My daughter once enjoyed an afternoon with me at the REPL, but then politely made it clear that we wouldn't need to do it again.
Totally get if gymanstics is taking a priority though :). Running and jumping and doing cool tricks is a ton of fun.
(find me at firstname.lastname@example.org)
Personally, I learned how to do web programming because I had something in mind that I wanted to build. I learned while building that thing. If I had to go through a book, course or tutorial first, I would have never been interested. I also wouldn't ever be inspired by going to work with someone unless that person is Elon Musk.
Your daughter might be the same. Let her interest guide her. I remember all the things I said I wanted to be when I was a kid. It was all just kid talk. I don't think I really ever cared to be any of those things.
Or maybe just leave her be. 16 hours of gymnastics plus school is a lot. Maybe she simply doesn't have time for anything else. Don't force it.
(I used to work at Cuker, and all the PythonSD guys are pretty great.)
You do need to have an employee ID badge to get into the area that the museum is in, but I bet if you called them or know someone who currently works there they could show you around.
Source: I was an intern there last summer. http://www.qualcomm.com/about/buildings/museum
It doesn't seem like there's a Girl Develop It chapter in San Diego yet, but a quick Google search shows a few meetup options nearby:
- http://www.meetup.com/Teach-Yourself-Programming-A-Womens-Co...- http://www.meetup.com/IEEE-Women-in-Tech-Meetup/
I bet you could reach out to the group members/founders and they would be more than happy to speak with you and your daughter about tech things! It's really wonderful you're encouraging her passion too, btw. Good luck!
In the meantime, let me know if you want to grab lunch in SD - it's on me. email@example.com
I am a mentor for my local team. The program is absolutlely wonderful. It inspires and drives kids at many levels. Mentors run a huge range, from scientists amd engineers to welders, makers and really driven Mom's and Dad's. The common thread, among other things, is to inpire the kids to learn and apply technologyy to solve problems. Highhly recommended.
Since (as I understand it) the idea of same-gender is to make the connection more straightforward, I would further suggest that you prefer a graduate student to an actual "worker".
At my university there is a grad-student scholarship that requires fieldwork to be done in a certain place (first nations community). The grad student has to involve a local high-school student in the fieldwork. When I first heard of this I thought it was wonky social engineering, but apparently it's a great success: fun and educational for both.
> she's in love with it > I can't talk her out of it. I've tried.
If she "knows some python", is she in love with it? Is she actively learning more on the web?
I don't understand why we all talk about the gender problem in engineering, then continue it by isolating female students from male teachers. There is no isolation between male students and female teachers, or same gender students and teachers.
If we want to move towards equality, why carefully structure inequality in?
Again, they want to buy it rather than you wanting to sell it. Big difference. Make them do the dirty work. Let them talk more. Let them give you a number. Until then, sit back, relax.
If they do come back with a number, then you have a different set of things to think about. For now, let's not worry about that.
That said, this is a great, low cost way to experiment with this type of interaction. If I were you, I'd set some strict goals as if it's a genuine offer (e.g. minimum sale price, not showing any source code pre-receiving money, etc), and then see how it plays out.
I've been in similar situations to yours before, and It's been really valuable to learn and make mistakes at small scale. As soon as it becomes a pain and your not getting much out of the experience, just finish it up on your own terms. The important part being that you should know what you want if it was real, and what you want out of the experience. Then either way you have nothing to lose.
 I don't need money  It's fun to work on this  I have and will have time for this
You have a strong negotiating position, because no deal is fine with you.
You can use escrow agents and do the deal via a lawyer, if the money is big enough, if you're concerned he'll peek at your source code and then back out of the deal.
Negotiate down to 10K if needed (but don't say that).
Don't go below 10K (it would cost them that to build it, and they'd have 0 users and 0 incoming links).
Entrepreneurs always have lots of ideas, so you need to simply decide if this is in some way your "one great idea", or just an "easy come, easy go" etude.
What is your time worth? $100 bucks an hour? $200 an hour?
How much would cost you to recreate it? Are they asking you for a non-compete? Do they want exclusive ownership? or just asking for a license and you own the rights?
If this took you 4 weeks @ 30 hours a week and this is your first project... it would probably take someone who knew android 1 week (40 hours) @ $125 per/hr so $5K?
Ask some questions... develop a friendship with your customer... find out what they are doing and what they need it for and how they'll use it... use that to set a price.
This is a stepping stone... be greedy and it will get around... be a chump and that will get around too... If you think its worth $10k ask for it and be flexible when a counter offer comes in... you don't exactly have other offers floating around.
I personally like building things, and starting things, but I am much less interested in marketing and making a business out of it. I would sell out in a minute and move on to the next project. I am not likely to worry about what it could have been later down the road or to get upset if I could have gotten more for it later.
Never take a pay cut in exchange for lottery tickets. Check. Never take a pay cut in exchange for a vague promise of returning to your real rate later. Check. Never let anybody position your market value in the context of what another developer has negotiated for himself. Check.
You got all that out of the way in the first year. Time to move on to that better job that pays you in money. Bet you'll never make any of those mistakes again.
2. The single most effective way to get a salary raise is to show how much you're worth on the market, ie, get an outside offer. Use this tactic carefully.
3. My unscientific method is to value stock vesting at Series A companies at 40% of face value due to them being high-risk assets.
Worth to VC = 1% / 4 years vesting = 0.25% / year * $12M = $30k / year.
Worth to you, adjustment for being a high-risk asset: ($30k / year) * 40% = $12.5k / year.
That's how much your equity is worth, maybe a bit more since you have additional traction.
edit: You are not getting screwed by offshore talent you have already been screwed by the founder :)
I think your last paragraph says it all. I would find another job. Good luck!
So it wasn't in writing. Therefore it didn't exist. Writing has a memory that promises do not. Everything jasonkester said.
I would merely add that anyone who makes promises, vague or not, but won't commit them to writing has precisely no intention of keeping them. Full stop. They might decide to keep them at some point, because they're feeling magnanimous or something. At the intersection of "make promise" and "refuse to document", they're telling you "I want the flexibility to not keep my word without consequence and I'm betting you're gullible enough to believe me". And if they say something like "we're doing this on trust and trust is important to our success" or "there's no need to bring a lawyer into this", you are rapidly approaching a 100% guarantee of getting screwed.
I would definitely start looking for a job elsewhere.If he believe that with the talents he has abroad at the 1/3 of your salary he can do what he wants, then you will soon be deemed over-paid.
Getting the raise will be extremely hard, unless you are really core to the company and they will be affected heavily if you leave.
I would start looking for another job that it will make you happy as well.
So, you were an idiot to take a pay cut of $30k or more for this job.
At this point, moving on is your best option. When you get a new job offer, don't take a counter-offer, just leave.
Echoing the points the other people made, never take a pay cut on the vague promise they will make it up to you later. That never happens. When you took the foolish pay cut, you established yourself in their minds as an idiot, and they will never properly respect you.
Once you have good offer letter then go to your CEO for a 'man-to-man' talk.
If he has any ounce of courage then he will match the offer or it will be your last day at work.
How essential are you to the startup's success? (how much would it cost to "replace" you). This might be higher than you think .. they may need a couple engineers physically in SV.
What % of your equity is vested? With standard terms, I'm guessing 1/4th (so 0.25%), unless there is a cliff longer than a year (which I've never seen).
How likely is the startup to exit in different scenarios: acquihire, bought for user base, bought for product, or IPO. How likely are each of these scenarios?
Just remember, this is a pure business decision. Don't worry much about "loyalty", "promises", "reputation" etc. If you're seriously good, these things don't matter much. Simply calculate the likelihood and payout for the possible decisions and then pick.
That's how good founders should make decisions and how good employees should make decisions. I wouldn't hire people who didn't think this way, or work for people who didn't.