I'm launching a static site generator that comes with a fully-featured CMS so that your non-tech friends can edit the site. It allows frontend engineers to build a custom CMS through a form-builder and then scaffolds templates out of them.
I'd love to have some general feedback on the concept and what would keep you from using it. I'm worried that we're targeting too small a segment (frontend engineers that don't want to touch backend code).
http://www.webhook.com has a video demo, and there are more in the blog.
How I can help:
I've launched a few businesses before, including a few with decent sized exits. I can give you some honest feedback on your product as well as your design. I also do open source design work, recently redoing the theme for readthedocs. If there's something small you need design help on, feel free to contact me. Usually I only have a couple hours a week to hack on open-source, but always looking for engineery projects to spruce up.
Just launched Rokumo (http://rokumo.com), an automated gift shopping service.
1. Would like to ask someone questions about it. (Would you use it? What kinds of gifts would you like to see offered? How do you keep track of gift-giving? Is it a pain point for you?)
2. Would love beta testers and feedback.
Let me know how I can help. I'm happy to answer questions, beta test things, or give programming advice (esp. anything about web development).
I'm a web developer from Mapbox / former White House tech advisor running for Congress. I released my campaign issues on GitHub: http://www.wired.com/2014/03/cole-platform/
I need help raising money to compete. Small donations welcome. http://coleforcongress.com/contribute
Happy to share my experience / advice with those interested in working in politics or government.
Once elected, I'll be a Representative in Congress who has worked in and understands tech. Here's where I stand on the issues: http://coleforcongress.com/issues/technology/ and a reddit AMA: www.reddit.com/r/IAmA/comments/20wvx5/im_dave_cole_candidate_for_congress_nj2_a_coder/
dave [at] coleforcongress [dot] com
The idea being, if we know how people read we can help people learn better. Obviously, there are other uses such as improving reading speeds, comprehension, and more. Further, we can potentially learn how structuring of sentences can effect peoples interest and learning as well.
Email: austin at agw.io
Currently, I need help with cleaning up the project, and enabling Epubs, PDFs, and HTML files to be read.
Future goals: make it compatible with android and iOS, set up a central location of the data, improve statistics functions. The current version on github does not have any statistics, I'll update later with a fully working version of statistics.
My original motivation was for fun and learning, but now I have several hundred people playing every day (average 1 hr each) and it's making $600/month in ads.
Problem is, I don't know how to take it to the next level. I think my main issues are no marketing knowledge and a complete lack of connections in the video game and sports industries. I think this could be much bigger if I could somehow overcome those deficits.
Longer version of this post: http://basketball-gm.com/pitch
Email me if you're interested in what I'm doing: email@example.com
Email: dan [at] danhough.com
## Help me out
1. I want to open up a co-working space in London, or possibly elsewhere in the UK. Idea is pretty fully-formed but I'm missing a few pieces to the puzzle. Anybody experienced in this?
2. I'm releasing my first non-free iPhone app pretty soon, marketing advice would be super useful. It's meant for London Pub Crawls.
## Let me know if I can help
2. Help with honing ideas esp. when it comes to maps & collaboration
3. I can play the guitar & sing pretty well 
Currently in Chamonix, back in London in May.
ShelfLife.net makes it easy for collectors of toys, action figures, video games, etc to buy, sell, and research collectibles, and track their collections. We've got a solid product built, and trying to figure out how to grow the userbase significantly.
== I Can Help:
* Startup/entrepreneur mentoring.
* Certified parkour instructor.
Help me out:
I just finished a PhD in math. Before that, I did a bunch of tech startups. I'm not staying in academia, nor am I looking for a job right away. Here's some of the things I'm thinking or would like to talk about:
- I haven't done much hacking in about 7 years. Loosely speaking, I'm looking to bring my new math/analytical skills to bear while renewing my technical skills.
- designing hardware. I've designed an built a few boards, know some Verilog, etc., but looking to increase my EE knowledge and design capability.
- building EDA tools, think learning "compilers for hardware".
- formal proof systems, HoTT, Coq, etc.
- learning some probability theory (something I never had to learn properly) with an eye, perhaps, towards finance.
- Math. I know some. My research is in topology, I'm not sure that would be of practical use to anyone (unless you're trying to learn topology).
- deep background in compilers, computer architecture, programming languages (co-founder of compiler/tools startup, bunch of patents, Fortune 500 acquisition)
- lots of tech startup experience, but I'm not sure I have anything special to add beyond what the larger HN community can offer.
A dozen stickers from cool companies for $5. I'd love to hear from people about why they would / wouldn't want to buy one. It's not quite selling as well as I'd hoped.
I'd also like to hear from startups / groups who might be interested in buying one for each member of their team.
You can email me at firstname.lastname@example.org (+hmo is to track if any spam comes from posting it here).
Help Me Out
If you happen to live in Ottawa or Toronto, Im trying to downsize some of my possessions, by trading them for anything really (Canadian dollars, Bitcoin, Dogegoin or a chat over coffee). Im updating my list http://eswat.ca/dpac/ of stuff I want to get rid of weekly.
Let Me Know How I Can Help
Have or know an open-source, web-related project that could use some UI help? I can take a look and see what I can contribute.
I'm building a service based on machine learning and operations to improve outbound recovery attempts. From customers experience it works very well.
I know there are people here who are or have been in the industry. Help me out by getting in touch so I can honemy messaging, product and expand my network.
email in profile.
If you know anyone at Wacom (the awesome tablet manufacturer), please help me get in touch with the said person. I've created a software that I'd like Wacom to bundle with their osx drivers. I think the software would help a lot of Wacom users.
Here's a screen-grab of the app : http://d.pr/i/4yG6
How I can help: I'm a former startup data analyst and strategy consultant. I can give a few hours to help with making sense of the data you're collecting or think about how to start capturing 3rd party data.
We really need help with marketing and sales.
So far, I've been trying to outsource the electronic design as much as possible in order to focus on the firmware. Even then, I am starting to reach a limit.
I'd like to get in touch with someone who would know how to program something useful on a random micro-controller given the micro-controller's data sheet and a circuit diagram. Or someone who understands weird terms like "ISO/IEC 14443" or "JTAG".
Help me out!
I'd be happy to return the favor! email@example.com
I know very little about marketing both online and offline, i've had some ideas but really have no knowledge on whether its good or not. I'm kinda in an analysis paralysis state of not knowing if i'm going to piss away all my money because i dont know what will work.
Email in my HN profile.
I run a meetup and organized a conference to help folks who are working on or want to found a hw startup. Would love to connect over email with folks interested in the field and find out what their biggest frustrations are so I can develop my blog content and offer some more educational and fun events. First one is here: http://boot.lvhardware.com
Would also be interested in trading hardware work for coding/design skills or tutoring.
I can help:Hardware design verification, general advice on finding suppliers, kickstarter strategy, etc.
Help me out:Need to find educators (who happen to know how to code) - My co-founder and I run a 1-to-1 mentorship program turning people into software developers (heavy emphasis on JS + frameworks) need help finding more instructors. We're looking for people passionate about education/love to teach who happen to know how to code.
How I can help:1) Learn to Program Advice - Was a middle school teacher turned software engineer so I can help people get started on their programming track over a Google hangout consultation (won't sell you anything, just advice)2) Business Idea Discussion - Love helping out any entrepreneurs talk about their business ideas/models, we bootstrapped ourselves, worked only part-time, and made revenue from day 13) High touch sales - All our sales are high touch sales $5-10k++ if you're trying to do high touch sales I can definitely share pointers/advice
I am launching a message board/forum powered by Google Drive. getforum.us (Every 'workspace' is a Google Doc and all the documents attached are stored on your Google Drive.) I would love feedback on the user experience and your thoughts on the product.
I want to improve myself. I am working on the Linux kernel but I have no idea how to get better at it, nor at networking. If anyone can point me to some (advanced?) topic related to networking or Linux, that would really help me.
I have done my own small version of tcpdump but I still behind behind other developer.
If anyone have any good resources about these subjects, I would really appreciate:
- How to write English (non-native language)
- Program well in c in userspare (Currently reading 'The Linux Programming Interface')
- (Advanced?) topic about networking (everything from Cisco routers to network security)
- Linux kernel networking programming
- Embedded development (I don't even know where to start that one...)
Also, as a second request, can anyone point how to simulate a network (simulate a small internet) using visualization (qemu and the like)?
:edit: I wanted to add that I believe I want a dynamic pricing scheme like Heroku's where they have a slider for how many dynos you want. The problem I run into is that I have a couple metrics that I can charge for, I just don't know how to meld them together.
- Help Me Out
I'm trying to bootstrap a software product (see profile) and would love to get a marketing advice on how to, well, market the thing.
- I Can Help With
Anything .NET. Close to 10 years of experience with everything starting from backend high-performance services to front-end with ASP.NET MVC to APIs and everything in between.
I would appreciate:
- Advice on what to cover/the kinds of activities to put on
- Resources for cool cheap/free science-y things to give out/use
- Cool demos/graphics that explain difficult concepts (think https://en.wikipedia.org/wiki/File:Diffie-Hellman_Key_Exchan...)
- What you wish you had seen as a kid in STEM education
- General advice on teaching science/math/technology to people without much background in the middle of the woods
jp [dot] smith [at] wq23 [dot] org
I'm learning full-stack JS as I go and sometimes I wish I had someone to code with. One problem I see is how to keep my idea mine while getting help from others?
I have a opensource project I would like to have off the ground. It's a Web based chat much like Hipchat and Slack... It is still in early stage and needs a lot of design work... But anyone that want to get involved is more than welcome :-)
What would be helpful for me is the names of any smaller/independent live music or event venues in your area that you know of. Venues that would be best are those that are typically cash-at-the-door or that don't have a good ticketing system or website. I'm working on a simple ticketing system that lets venues like these list shows and sell fee-free tickets and I'm just looking for more beta testers. Send any you know of to firstname.lastname@example.org and use the subject line HMO
============================ How I can help your project: ============================
I am also a very good programmer. As a freelance software consultant I work 100% from home on OLAP web applications. If you're stuck on a data design problem, need someone to riff on for debugging a problem, want help hacking together an HTML5 demo of some kind, need help reviewing software engineering job candidates, or want to do a net-based pair programming session or two, I'm available.
If you're in the Alexandria, VA area, I could even meet in person for any of this. Also, beers. Beers for project kibitz. That would help me, too. It's lonely out here.
=========== My project: ===========
It's free, it's open source, it's browser-based, it's responsive, it syncs your writing to Dropbox or Google Drive. It's still pretty raw, but I think there is something here that could really make a great project. Our vision is to build it into a tool that not only works well for writing, but encourages the user to write more, write better, and write to completion.
==================== What I think I need: ====================
- a marketing mentor: I started a Google AdWords campaign yesterday, but I'm an engineer, not a marketer. I want to learn, but all I'm doing right now is random shots in the dark.
- a startup/fundraising mentor: if this is a project that could take off and find traction, I'd like to run a kickstarter or find some other patronage to be able to work on it full-time. What you see here is basically three weeks of part time work. If it were my job, I could make it into something great.
- a user experience-centric developer or mentor, for building an on-boarding experience for new users: while part of the experience is that it is a streamlined tool, there isn't much to help people who aren't my best friends who can call or email me at any time they want.
My email is in my profile and on the JWD website.
I would love it if someone pitched in some help getting HTTPS working, or any other stuff they felt like.
I'm willing to give out free accounts to people who write reviews, if it's the type of product you'd use.
Email email@example.com if interested.
I'm working on a localization library / SaaS called Localize.js (https://localizejs.com). It's a new way to localize websites that's much easier to implement than traditional localization techniques.
It works by automatically detecting and translating text on on the client-side, and allows you to order translations (machine or human) via the web interface.
The library is stable and is working well so far. It's currently used in production serving millions of pageviews on https://www.verbling.com/classes to demo, select a language in the dropdown on the bottom left).
I'd love your feedback or thoughts on the approach. If you'd like a free account, shoot me an email! firstname.lastname@example.org
In fact, we get "new source code" all the time from GPL enforcement efforts. The thing is, it's admittedly not often upstreamable source. A lot of the modifications to source done by redistributors of GPL'd software is not really well formed nor suitable for upstream. It's that classic kind of "it just works, but it's ugly" code.
This is particular true with regard to the "scripts to control compilation and installation of the executiable" which is a required part of the complete, corresponding source, provision of which the GPL mandates.
Situations like the WRT54G (the GPL enforcement source release of which launched the OpenWRT project) and the Samsung TV lawsuit that I helped do (which launched the SammyGo project: http://www.samygo.tv/ are excellent examples of what great things happen when the GPL is enforced: reaching the promise of copyleft, which is hackable devices downstream.
This is why I've spent(and probably will spend) most of my professional life enforcing the GPL.
This post here is about a few specific issues, but if you want more general information on the topic, dalke's link to my talk is probably helpful. Also, here's links to the docket of the largest GPL enforcement lawsuit ever done, Conservancy v. Best Buy et al: http://ia700409.us.archive.org/18/items/gov.uscourts.nysd.35...
BTW, sorry for jumping into this thread. I'm kinda the Kibo of Free Software licensing discussion online; I'm not an HN regular but mlinksva linked me to this.
Linksys distributed GNU software in their routers, in violation of the license. See http://en.wikipedia.org/wiki/Free_Software_Foundation_v._Cis... for details. It links to the FSF's complaint at http://www.fsf.org/licensing/complaint-2008-12-11.pdf if you want to see the low-level legal details.
That WP page ends "On May 20, 2009 the parties announced a settlement which includes Cisco appointing a director to ensure Linksys products comply with free software licenses, and Cisco making an undisclosed financial contribution to the FSF."
Interesting note though - GS did not violate the GPL because they didn't distribute the code. The GPL allows an organization to modify and use code for its own use without releasing it as long as it's not distributed outside the organization.
Ive had more products break GPL than Ive broken copyright before I learned Linux when I was pirating windows software.
Just not much to do really, its only the copyright holder that can actually push for enforcmenet of copyright, and me as a user am pretty much screwed.
He talks about the lawsuits and the effects they had.
Is there such a thing or a specific way of doing this?
There's always the possibility that you don't like working for these people or it doesn't work out.
Also, I think you should talk to an accountant/lawyer about whether you want to be paid for the product as a bonus or as a separate sale for the IP. If they want to pay you for it as a bonus, there may be seriously negative tax implications for you...but if you sell it you want to make sure to shield yourself from liability.
If you value 20x earnings, that's a valuation of $200k for your project.
Since the employment is (presumably) at-will, just value the cost of selling the side-project. If you want, factor in the value of any raise you get by switching jobs.
Look over any contracts. The words in contracts are actually important and they are not EULAs to skip over.
Estimate what the worse case is worth for you.
Okay, your description is short on details, but it looks as though you have an intellectual property or "idea" (a) and some personal skills (b).
The people you're negotiating with may be trying to get (a) by offering (b). It works like this -- if they hire you, any ideas you have past that point belong to them. All they need to do is claim that you had your idea (or substantially developed it) after you were hired as their employee. And as their employee, any ideas you have belong to them (a common condition of employment).
I'm not saying this is the only possibility, but it is certainly on a list of possibilities. So ... be careful about giving away your ideas in exchange for employment. Good luck.
Another thing to keep in mind:
I've spoken vaguely about the site, and how it works, but nothing specific. They'd like me to come down, and discuss what I'd be doing, and go through some of the code behind the site. Is there any way to protect myself from them just copying my idea, and stopping talking to me? I signed an NDA, but that just protects each of us from discussing how the other's business works with people outside their business. Is there any way to protect myself from this?
I pretty much asked them this exact question, and they basically said 'they talk with a lot of companies, and if they did so, word would get out, and no-one would talk to them', which is true.
Comparing the two is like comparing apples to oranges, if you ask me.
Tax deductibility isn't a big reason why I donate to things, but I still thought it was a bit weird that the "OpenSSL Software Foundation" was incorporated as a for-profit company.
There are business advantages to being a company of generalists (in the service field) - you can get lots of different work. We do web, mobile, desktop, embedded, pretty much everything. There is variety, if you want to work on something different - you can change projects and not have to change jobs.
The downside is that nothing is ever quite as good as if you were specialists. You can apply general software best practices but you lack the deep knowledge about the best way to do something in a given platform. You end up with Rails projects that feel like .NET projects ported from C# to Ruby. You have Android projects written like a web app. There is little re-use between projects; write a cool utility for a WPF desktop app? Great, except the next project you are working on is an embedded Linux app.
There seems to be a lack of focus when it comes to learning and sharing with the developer community. If all you do is iOS, you probably see the value in blogging about iOS, going to iOS meetups, etc - if you are generalist who changes technologies every 6-12 months, it is hard to get a foothold or to justify putting in time for something that you might not use again for 2 years.
My current thought is that the best mix would be a company that is "generalist" - but instead of having 100 polyglot engineers, have 5 squads of 20 specialists to cover the major platforms. Each squad has a focus and can do deep and learn the platform-specifics, the company can still win lots of work, and employees can still move between squads for variety.
As for SQL, a short book called "SQL in 10 minutes" by Ben Forta is quite good. Despite it's cheesy sounding name, it is a great resource to get up and running quickly. Not in 10 minutes though. Also (forgive the shameless plug) you can refer to my short ebook "A Primer on SQL", free to read and download.
Can you implement the 10 guesses game? You know, computer picks a number between 1-100 and asks you to guess, then it tells you if its higher or lower. Do this in a simple Java class, static main, play from console.
Then do that same program but this time as a web page and using JSP, for this step itll require a lot. You have to make a Java project in Maven and deploy it in tomcat. THere should be a button to "enter" the guess.
Now when youve done the above exercises, redo it and this time secure it, and use ajax, no page refresh.
Now for the last exercise ask for the users name before gamae begins, and save every game the user plays to a database of your choice, I suggest PostgreSQL, and let any user see what other users played, like a replay of the game.
Make it as ugly and as wrong as you can think, dont care, just do this.
Now when you have done the above and have a webapp made with Java, JSP and simple JDBC, where user can play in its browser, see historical games and so on, add a counter "This many users are playing right now".
Next month, make a computer play the game you made. First code it to play against the console version, then against the web one, you can make an API or WebService to play it.
Now when youre done, come back in a month or two and ask again.
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.
Google Adwords Keyword Planner: https://adwords.google.com/KeywordPlanner
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.
Oh yeah, definitely.
Seriously, I could see this being really useful if it works. I'd be very interested in giving it a try.
Like you I like reading books (and still do), but I found out that I can learn much faster and efficiently through programming courses offered in sites like tutsplus, treehouse, infiniteskills, etc.
That doesn't mean that you should stop reading books, for all I know those video courses are an effective learning companion. You can subscribe to any learning sites that you want, but if you ask me tutsplus is a good one.
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.
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.
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. :-)
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!
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.
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.
My advise: switch focus to developing a product that you can sell.
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 think you need to do some soul searching, and ask what is your motivation, what is your passion? Are you in this startup because you believe in it, think it can fly, and are willing to sacrifice a lot? Or are you there because you fell into it, they gave you a job, they're good guys, etc?
Other questions to ask are:
- What's your risk tolerance?
- Do you mean to have a family some day?
- How important is money to your situation?
- What would you value more: the experience of building something yourself, or the experience of working on a team?
If the company is closely held, e.g. some sort of limited liability company or S-corp, then profits are often kept as small as possible unless otherwise dictated by an operating agreement among the stockholders.
For example, if revenue outpaces expenses by $120k, the stockholders can award themselves $100k in bonuses and the company's profit is $20k and you would see $2k at 10% instead of $12k [and there's nothing stopping the stockholders from awarding all $120k as bonuses in which case you would see nothing]. And that's just when they don't anticipate increased revenues. If they anticipate $120k greater revenue versus expenses next year the stockholders can give themselves $120k worth of raises.
If there's long term revenue streams, the stockholders can hire on family as consultants, enter the company into leasing agreements with companies that they own, and basically take anything that could be profit out of the company and it's all perfectly legal and common for closely held companies.
The reasons are that the tax situation of the stockholders of a closely held company is pretty much the same either way, but any assets of the company can be taken via lawsuit against it, while the personal assets of the owners are protected via limited liability.
None of this is to say that these things are necessarily running through the stockholder's minds. But not being a stockholder pretty much places any future revenue subject to the good will of the stockholders and it is not uncommon for people to make self interested choices when real money is involved.
BTW, being a minority stockholder doesn't really change much absent an operating agreement which governs the way in which profits, bonuses and salaries are determined and getting that is unlikely.
Just follow these simple steps:
- Get Apache Cordova (https://cordova.apache.org/)
- Try Ionic Framework (http://ionicframework.com/)
- Try Ratchet (http://goratchet.com/)
- jQuery Mobile, obviously (http://jquerymobile.com/)
- If you need more help, try Codiqa (https://codiqa.com/)
- Try Trigger.io (http://trigger.io)
Cordova makes it super simple to deploy to app stores, and it's awesome. I make mobile apps all the time. Though not as good as native, it certainly has been improving, especially in the recent years.
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.
One day my boss comes over and just starts helping me fix the machine. He's humming a little song and happily fixing things. And I just looked at him, and I said "Doesn't this fucking piss you off? That this fucking machine keeps fucking breaking?" (I was a kid. "Fucking" was a fun word to say. Still is, actually.)
He looks at me and says, "Does the machine care if you're mad?"
- 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..
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.
My way of re-phrasing "90 percent of success is just showing up".
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.
I'm not saying that you should stay in school, even though it would be a good idea, but maybe instead you should build a few personal projects from start to finish. That will allow you to demonstrate to employers that you are capable of working through the hard/boring parts of software development and pushing through to the end.
Also, you need to get your sleeping disorder under control. Being tired all the time kills your ability to concentrate and execute. See a doctor if you have to. If you don't take care of yourself now, you'll regret it when you are older.
It turned out I was much better suited to (and motivated by) real world work. (I already had a reasonable amount of software development experience prior to college.) I quickly proved my usefulness, was able to take on more responsibility, and learned a ton about networking hardware over the next year or so. I should point out that during this internship, I was working a lot. I was really into what I was doing, really enjoyed everything I was learning, and seeking lots of feedback from everyone around me.
Since dot-coms were all the rage at the time, there were tons of places hiring anyone who knew anything about the internet (today, it would be mobile or web development perhaps). After a year or so, when I started interviewing, it was apparent I had the relevant experience and no one cared that I hadn't finished college.
I got lucky with the internship, I got lucky with timing (dot-com boom), and I got lucky that I really enjoyed doing something that happened to be highly marketable. But I also was really motivated and worked hard. I hated school because it felt so pointless. But entering the real world, I felt super-motivated because I felt I was doing something productive that wasn't just a contrived assignment to be graded and discarded. If this sounds like you, maybe you'll follow a similar path. On the other hand, if your poor performance in school is a reflection of general lack of motivation that would carry over to work, you've got a tougher problem to solve. My guess is that based on your previous internships, you already know the answer.
Could you elaborate on what led to these circumstances? Did you find the courseload too difficult? What percentage of your attention did you devote to your coursework? What was your background with the subjects before you went to college?
More general questions: What is your social situation like i.e. do you have friends you can talk to? Are you living by yourself or with roommates? Are there any academic advisers you can reach out to? Are there any mental health services at your college you would feel comfortable reaching out to for help?
Why are you flunking out? You've told us about all these things happening to you, but that doesn't tell us why.
Are you genuinely bad at CS and math? Is that stressing you out so much that you don't feel you have the time to focus on your other courses? Would you be better off with a part time schedule until you get your legs under you?
How much of your time is allocated towards study / school work, and how much of it towards extracurriculars (social time, games, pet projects, browsing the web, getting hammered) on a weekly basis?
Do you really like developing software? No, I don't mean whether you'd really like a job developing software and the perks it brings with it, I mean do you really LIKE developing software? Because if you don't, and you don't have a degree, you're probably going to have a bad time.
Why do you think you make a good hire? While some classes can be boring, so are projects in the real world. The job market isn't interested in charity cases, nor is it interested in people who can't stay interested on mundane details (because there are ALWAYS mundane details).
You can't know the path to success if you don't know why you're failing and how to fix it.
You should be aware of the challenges you're going to face though. Not because of your grades or schooling, most likely (though that will close a few doors) but because you're still fairly inexperienced, and it can be hard to land those first few gigs. Develop at least one or two deep skills. That will get your foot in the door a little easier. Blog a lot. And the last, best piece of advice I have, that I wish I'd learned ten years earlierbuild your community network and find a mentor. Those relationships are the most critical assets you can have early on, IMHO.
There's a hundred ways to success, and those are just the things I've learned so farabout me. There's sure to be a lot of other good thoughts about your situation that are worth paying attention to, and you'll still likely find your own. Best of luck to you.
Honestly I feel like it took me ten years to recover from "dropping out." in the manner I did. Go look at the "Things I used to do." section of my profile. That's what it took me to get back to really programming and ultimately starting a business but It took a long time and a lot of work. That's about ten years worth of jobs there. Maybe I'm better for it but maybe not. College is not for everyone but looking back I wish I had 1) sought more help while I was there 2) Focused just a bit harder. 3) realized it's a game to play - there are many of them in life. Good luck!
I was lazy this semester, I thought I had a good handle on the material until this week when I failed all my midterms. I hardly sleep anymore which also plays a roll. I for sure could have been more active in pursuing help but to be honest I had no idea I needed it
I go out a decent amount, usually once a week, sometimes twice. It's not the "weeeeew college" level of partying from freshmen year, I would say it has little to no impact anymore on my grades.
One last relevant fact, it took me 3 tries to pass calculus, in highschool I was passed in precalc because the teacher knew I was involved in a lot of work after a botched computer donation program to our neighboring schools. This year I had to self-teach myself a lot which was tough, and the few times I did see my professor or TA they would only explain the material covered in class. To quote "I'm not here to teach you algebra/calculus". That is totally reasonable but having to have a logarithm cheat sheet with you at review sessions kinda sucks, not to mention I got shot down enough times early on where I would second guess asking questions for fear of them being too elementary.
I'm aware I fucked this up, but I really do love to code. It's the only thing i'm (ironically) not burned out on.
Disclaimer: it's what I did, so I'm biased.
How did you manage in high school? Is there a lack of motivation? Are you distracted?
> I love computer science, but it is a struggle for me. Virtually all of my time is spent in my CS and Math courses, and I am failing them too.
Have you asked professors or TAs for help? Have you tried getting a tutor? I'm pretty sure your college has more than enough resources to help.
> nothing terrible is going to happen as a result of me failing college.
You can't know for sure, so I suggest not convincing yourself that this is the truth. It probably isn't.
Quitting school is not uncommon, but it's not the same as flunking out. Who would hire someone who couldn't manage to get through a few CS classes in college?
If you're not motivated enough to buy textbooks and work through them on your own I'd suggest looking around for a trade school that will allow you to specialize in programming. Your coursework will be pure programming.
> I want to just work on something for someone.
As a sophomore it is unlikely that you have the necessary skills to do much of anything for anyone, software-wise. Why not start a few projects of your own and learn as you go?
> Living at home is the last option I want to explore.
It's probably your best option, in my opinion. With your lack of coding skills its very unlikely that you'll be able to find a programming job, leaving low-paid, low-skilled jobs as your only other option. Working a 9-to-5 is tiring and it will be very hard to find the motivation to come home from work, study, and code. Why not live with the parents for a few years while you teach yourself how to program? Free room and board is a pretty sweet deal.
> Is there some sort of person I can talk to about how to go about getting a job
There are always mid-clients/recruiters and monster.com, dice.com, etc. With the little amount of programming skills that you have, no real resume, and no portfolio it will be difficult.
1) Same school try harder, but at a reduced work load that still keeps you full-time.
2) Different school with better teachers (This include curriculum) and take a reduced work load.
- If you find you having spare time while getting good grades in those courses, build a portfolio of projects.
3) If your done with school as a option, than start building a portfolio as it will need to show future employers what you are capable of doing. Now finding a job without a degree will be very difficult, you'll probably have to do a lot of volunteer work that could turn to full time work if you show initiative.
Now with this being said I've been kicked out of a top 100 university world wide and after that way up call I got my degree at another university specializing in teaching. What I found from that experience was I enjoyed programming but not how it was being delivered to me at that university.
Oh the sooner you inform of your parents with a plan and a update of your current situation, the better chances you will feel relieved. Though this is dependent on your relation with you parents.
ps - Make a list list of things to do and sort them on scale of difficulty. Eliminate them to help you get back on a career path and bring some order to your situation.
If it's at all possible for you to get through college without going into debt with student loans then stick it out. And make the professors do their job by transmitting their knowledge in such a way that you understand it, and again the best way is to see them during their office hours. This way if you come up a little short on the exams they'll remember you and give a passing score (that's where pass/no pass can help out a lot if it's offered) Seriously I used that strategy myself in a couple of classes that I needed to pass and it worked.
I dropped out of college my first year. I'm not going to say it works for everyone (or even most people) -- I had a LOT of experience before college -- but it's possible it may work for you. Though, what I will say is the same thing someone will recommend down the road when you're looking for a new job: don't quit before you've secured your next position.
Consider looking toward startups where degrees tend to be less important -- corporate cultures tend to lean on degrees too much as a means for filtering candidates, and it's probably not the type of place you want to be anyhow.
If it was me, I would just lie and say I have a degree. Keep applying until you find a company that doesn't check. If you are smart and talented, no one will think twice. Even if they do, there's a chance you'll be entrenched in the position and they won't want the cost of replacing you any way. Don't be scared, just always think about your options and choices, especially the unconventional/controversial ones...
But seriously, most guys who can predict hours needed with any amount of reliability are the guys who have been doing it for awhile and have already done a similar job. They use past experience to predict amount of work hours needed to finish something. If you truly have no idea how long it will take you, you could begin by breaking up the project into each piece and try to project how much time each of those pieces would take. For example, how long will the design take, the homepage, the about page, the forms. Break each feature apart and try to estimate time for each, then add them up.
My best suggestion is just to overshoot your hours. If they accept the offer you should work hard to make sure you meet the deadline and if you go under the deadline, be honest and tell them how much money you saved them.
Basically, break it into pieces. Usually individual pages and estimate each based on prior experience. Add to it other things you may need to do like designing a schema, interfacing with other APIs, etc. This will probably give you your best case scenario. Then multiply times two because stuff always comes up that you didn't think about. This is what I use for "ballpark" estimates.
This is definately open to optimization.
I think it is important to understand "both sides". Clients usually like fixed-bid or per project pricing because it limits their risk. That way they won't be surprised by a huge bill.
As a freelance developer, I disklike fixed bids because it requires me to manage scope really carefully, otherwise my effective rate falls really quickly. So this really means that I need to increase my bid by some amount (I do 25%) do limit my exposure. So this isn't quite as good for the client as it might look on the surface.
A better way to do it is a lesser rate, such as hourly or weekly, and then break the work into iterations or phases, each resulting in something demonstrable so they can see what they are getting for their money. After they pay for the phase, they can walk with the source code written so far if they want. This limits risk on both sides. I've gotten paid for what I've done so far, and they have something tangible for what they've paid so far.
I start out with prototypes/proofs of concept to explore the most risky aspects of the application first and then feed what I find back into the estimate. This way, I can the client can know sooner than later about gotchas that can affect schedule or cost.
Run it through your peers (specially anyone else involved in delivering it). Listen to the most pessimistic ones, rather than the ber optimistic.
Multiply that estimation you have now by .
Believe me, you will more often than not correct with such a calculation.
Bonus: You will be right by more or less ~10% which you can either give as a discount to your client, or you can charge them 10% extra in the end.
Warn them that there is ALWAYS risk when estimating, and all risk should be shared. Win Win FTW!
Fibonacci, elephants and mice do not come into it.
plan carefully. If you don't know enough to plan carefully, prototype, then plan.
I have noticed that my estimates are becoming more accurate over time but I'd also like to know if people have some sort of a procedure/workflow that they follow.
Another approach I experimented with was using the scrum methodology. I tried breaking the tasks up into smaller chunks (user stories) and then valuing the effort/time required for the individual parts before adding the values up.
Even with a lot of experience, the only thing that's really certain is that unexpected things tend to jump out and eat your budget.
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.
25K isn't really very much money, but if you can get paid to have an awesome learning experience, deeply engaged guidance, and a significantly increased chance of getting some angel funding after the program, that seems like a pretty good deal and might be worth being flexible on your idea.
On the other hand, if you're super-passionate about your idea and really know it's what you want to do, you should stick to your guns. The accelerator may be impressed enough to let you in anyway, but you should obviously be ready to go it alone.
Or, perhaps time to continue looking for other support and funding. You are in the market for support and funding, and have not found your funding market. Keep going. But take note that they liked you.
Consider the possibility that this requested change is the first of many, and that you perhaps may not agree with the next requested change. Is this the kind of advice you want? Are these the advisors you want? Do you trust them? Do they have something you need, besides money? Are these the fellow company owners you want?
Perhaps it is the kind of advice you want or need. Get a better understanding of how the potential funder is correct and why you are wrong about your idea (or why you are still right).
Even better, try to get a utterly ugly and bare-bones minimum-viable-product example running, so you can start testing your idea on your real market, the people who will purchase your product, and get feedback from those users to improve your idea and its functionality. Flickr.com, for example, started out as an online game, with a photo-uploading capability. They following the user interest to develop their idea and product.
"To perform PMTU discovery, HeartbeatRequest messages containing padding can be used as probe packets, as described in [RFC4821]." "In particular, after a number of retransmissions without receiving a corresponding HeartbeatResponse message having the expected payload, the DTLS connection SHOULD be terminated. " "When a HeartbeatRequest message is received and sending a HeartbeatResponse is not prohibited as described elsewhere in this document, the receiver MUST send a corresponding HeartbeatResponse message carrying an exact copy of the payload of the received HeartbeatRequest. If a received HeartbeatResponse message does not contain the expected payload, the message MUST be discarded silently. If it does contain the expected payload, the retransmission timer MUST be stopped."
The "why" is that networks are subject to packet loss, and to timing delays. If you send out two heartbeats 10s apart, and only receive one reply back, then is the reply responsive to the first heartbeat, or to the second 10s later? Without some unique data in each of the packets you send, which is echoed by the other end, you can not disambiguate this question.
Now, one could argue that a simple sequence counter defined by the protocol would suffice. But that is open to exploit by a misbehaving server because once the server recognizes your heartbeat counter pattern, it can issue anticipatory heartbeat replies with the proper sequence number that you will accept as valid. By making the payload arbitrary bytes, then you have the option of sending a sequence number, or generating random data (and tracking it yourself), or both. The random data aspect thwarts misbehaving servers from determining your pattern and replying with the right data without ever receiving your requests. The arbitrary sized payload also makes the packet useful for path MTU discovery as the first paragraph I quoted from the RFC indicates.
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 email@example.com)
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. firstname.lastname@example.org
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?
Lots of suggestions:
* Don't write your own cron scripts, use Symfony Commands.
* Delete the Acme Bundle.
* Don't store your vendor directory in Git! Completely unnecessary and waste of 47MB.
* Don't commit parameters.yml, that's what parameters.yml.dist is for.
* Use a migration tool (Doctrine Migrations are fine) instead of one big SQL dump.
* Not sure what mongodb/example.php is for.
* Why is all the plivo stuff in web/plivo/ instead of being a callable controller?
* Are you manually generating your Doctrine entities?
* Don't commit your asset directories (they should be symlinks).
* No need to use PHPMailer (or include the entire project in your repository), Symfony comes with Swiftmailer which is great.
* Same with src/Phone, add that library through Composer (https://packagist.org/packages/practo/libphonenumber-for-php).
The design looks great, but I wouldn't trust a lot of this (especially after seeing how many hosts and usernames and passwords you left scattered about).
My advice is don't put more cash into it for now, go talk to Plivo, talk to a few call center companies see if anybody wants to be a partner on reasonable terms. In the mean time look for a team and funding. Not freelancers, a few guys part time, working for shares is better for VC.
Opencall: open source call tracking software Self-host your call tracking solution own your data, cut your costs and track calls in any country.
GIT Repo: https://github.com/calltrackingasia/opencall
Firstly - thank you! What an awesome contribution to the community. I cant comment on code quality or license attribution but I can tell you that it is an extremely valuable service.
I have not downloaded and installed your code, but I will - here is where I see the market need these days, and its far greater than just source attribution.
Google has done a great thing by encrypting searches, but it is terrible for website owners and marketers because it is so difficult to prove ROI.
The place that we use using this successfully is by using the UTM source information of a click to change the incoming phone number on the site using dynamic number insertion - this helps clients have a justifiable ROI to continue to use the service.
If you have questions about how I am using this, please feel free to let me know - but kudos to you on building and open sourcing it.
In adult life, usually best to post from a position of strength, or people will dump on you.
1. The advice to pivot and offer it open source is good. Kudos to you for following up on it. This gives you some free marketing that you might not otherwise get.
2. It isn't quite clear to me how to integrate other telephony products based on the discussion. If in addition to http, you could support either IAX2 or SIP, this might provide significant improvements in terms of reachable market, because you could integrate with existing soft phones and open source PBX's, including both Asterisk and Bayonne.
Those two things strike me as being things which might increase your market reach significantly.
1. Call to action is hidden. Your goal it to sell SaaS service?
2. Price comparing plans should be easier, less text more icons. ex. http://uxmovement.com/content/7-useful-design-strategies-for...
3. Too many features. 3 features is optimum, 7 is max. (except selling to corporation, then you need a datasheet). look at https://training.kalzumeus.com/newsletters/archive/enterpris...
4. Products that do everything, are not successful.
5. Who is your customer? Maybe put remaining money in advertising.
6. Set it as beta and put on http://betali.st or other similar sites. Get more feedback, involve users, because you don't need one time customer you need audience (loosely quoting rework)
7. Where is competition there is a market. Competition is the greatest thing on the earth. Maybe you could beat them with the best customer service ever? Or with openness and community around your product? or your product will be super easy with minimum features? or will not require hours of trainings
* use repo method in repo classes,* separate and contain related code logic into bundles: you should have your code like this: /src/OrgName/BundleNameBundle
A change to BSD instead of GPL would be nice too :)
I've been meaning to build something similar so I'll probably be bit of a contributor
my cofounders and i spent upwards of $250k cash (on top of our own time value) of our own money before we gained any sales traction. an order of magnitude higher than your pain threshold. if you weren't prepared to spend that much either from earnings or savings or equity, i'd say you made the right choice.
I'd replace the homepage (temporarily) to the absolute minimum during the time it's bombarded with requests, unless you have a vserver/cloud-host that you can scale up. Or change the server your DNS records point to, if you use CNAME, to one at rackspace, github homepage, or anywhere else with a minimal homepage. But I'm sure the guys @HN have better tips :)
I don't know much about legal stuff and licenses, but I would allow anyone to use your software as long as it's code is shared, except for enterprises. Companies who want to use it commercially and have more than 1-5 employees would need to obtain a license. Open Source doesn't mean that you cannot put a price tag on it.
But as you said, prepackaging the stuff as a deb/rpm and allowing white-labeling for enterprise customers would be a good way get some money back from this. Just saying, but you could, if you wanted to, add advertising into the opensource product and disallow it's removal unless a license is obtained. If you were an SaaS, you could collect data and metrics, that you could monetize, but I'm glad you aren't anymore :)
@pg I think there should be a sticky informing website owners on howto react, when their website is HN'ed. Somewhere in the footer of the homepage or so.. This is happening a bit too often and many aren't prepared for such high traffic peaks.