270 karma · joined September 8, 2012
And what exactly has Microsoft been innovating lately?
If a hacker decides to get a degree, it shouldnt be because the job he wants requires it. Rather college should be a personal pursuit to accomplish a life goal. Something for them to look in the mirror and say, "Your pretty damn bitchin at this thing called life."
go's void* http://golang.org/pkg/unsafe/#Pointer
go's syscall mmap function. (Pure Go) https://code.google.com/p/go/source/browse/src/pkg/syscall/z...
pure go pkg with more mmap functionality. http://godoc.org/launchpad.net/gommap
Go's runtime mmap function. (C) https://code.google.com/p/go/source/browse/src/pkg/runtime/s...
Go's base memory allocation function. https://code.google.com/p/go/source/browse/src/pkg/runtime/m...
Go functions body may be implemented as asm. The standard math pkg is a great example of this feature. http://golang.org/src/pkg/math/
Considering all of these features there isnt really a whole lot about Go's semantics that prohibit it from being used in many of the low level projects that are typically written in C/C++.
http://m.youtube.com/#/watch?v=k4RRi_ntQc8&desktop_uri=%...
I wouldn't be surprised if he made the threat based on his own personal moral ideology.
The current theory suggests that ADHD is caused by a mild disorder somewhere between when dopamine is released to communicate between the brain's neurons via synapses and when most of it is reuptaken back into the brain's dopamine bank and the rest is transported to other parts of the body. Some of this dopamine is converted in norepinephrine (adrenaline).
Explained in the simplest way, ADHD is caused either when not enough dopamine is let out, too much dopamine is reuptaken back into the storage and transported to become norepinephrine, and/or norepinephrine is reuptaken too fast.
This is why, theoretically, different ADHD medications are only effective on different types of ADHD patients.
The easiest way to know is if Adderall or Ritalin made you feel normal and calm. (sometimes even sleepy. Ive taken naps while medicated on my adderall.) ADHD stimulant meds should have a very profound effect if you have ADHD. How do you feel when the medication wears off at night after having taken it for weeks? Crashed? Not that different? Wanting to take more?
And how did you feel when you stopped medicating after 3-5 days?
ADHD comes in 3 subtypes, Hyperactive-Impulsive, Predominantly Inattentive, and Combined (which is what I am diagnosed with). There is also a disorder called Slow Cognitive Tempo that is similar to ADHD, but still a different classification of disorder.
The truth is, ADHD is way more complex than what most people believe ADHD is. Many people think they have it that do not. Many psychiatrists misdiagnose patients with ADHD, when the actual problem is a different disorder. And many people are struggling in life because they have not been diagnosed with ADHD yet.
ADHD has only ever been a huge burden on my education, relationships, and quality of life. It does not give people with ADHD any sort of "super powers" or "exceptional intelligence and creativity". It doesnt have any beneficial traits whatsoever.
Hyperfocus is a form of self medicating. It is the only time when the chaotic hurricane in our mind is calmed. We can focus on certain activities that stimulate us because its the only time were not extremely uncomfortable.
The problem is that we cant control what we hyper focus on. Many of us can not self motivate ourselves to not procrastinate. Many of us can not remember what we just read or where we put our keys 5 seconds ago no matter what. Many of us can not stop ourselves from saying absolutely offensive and cruel things without provocation. Many of us hardly have any real friends, and the friends we do have are just like us. Many of us can barely speak a full sentence clearly without stumbling over our words because our minds float away on a tangent.
ADHD is a horrible disorder to suffer with. Just as bad as schizophrenia, bulimia, bipolar disorder, depression, anxiety, and autism. Anybody who is trying to live with ADHD untreated should seriously reconsider and seek professional psychiatric help. Research ADHD and all other closely related disorders, and figure out how you can help your psychiatrist better help you.
Its the single best decision I've ever made.
The moral of this story? Invest in the opposite of what Forbes says will go do.
1. A degree. While degrees are nice and prove somebody is considerably "intelligent" and not a "complete waste of time", many talented programmers, especially the ones you want to hire; are fully capable of teaching themselves without a lecturer.
There are some developers who have already studied the dragon book and have a sophisticated understanding of how operating systems work because they hack on Linux.
A developer may make a very reasonable and logical decision not to go to college because they dont want to accumulate debt, for an education they already possess, and ultimately waste time not working on their software projects.
A degree doesnt mean they are a good programmer, and a lack of one doesnt mean they are a bad one either.
Im not saying college is a bad investment, rather recruiters should not turn away an applicant just because he passed on that, as they see it, inherently flawed "life experience".
2. Years of experience. Assuming the project is well documented... If it takes a developer longer than 2 weeks to figure out how to use a project's api, even if they have no prior understanding of the technology.
They are not a good programmer.
If you are looking for a developer to actually understand the internals of a project well enough to be able to commit, even linux shouldnt take 5 years of studying before a talented developer is able to visualize whats going on.
Real developers spend almost all of their time reading code and studying something they havent learned yet.
if they cant adapt quickly to your projects, while perhaps even teaching themselves the new technology along the way unbeknownst to you. (new programming language, library dependency api's, network protocol, etc)
They are not a good programmer.
3. Previous Work Experience [as {insert stupid job title here}]: First, there is nothing sillier than job titles for programming positions. The only valid titles that should ever exist for a programmer's job are Hacker, Bit Composer, Code Poet, Git Wizard (seriously, this is the only valid specialized hacker position)
Second, Just because Bob has 30 years of work experience as "Lead Programmer" at "FooBarly inc.", that doesnt mean he is a better engineer than 21 year old, no work experience, Alice.
While Dino Bob may be able to write optimized, neat, software. And although he might able to debug rather complicated bugs, and ultimately lead a team to write a program that does what its supposed to.
Alice may have been an exceptional, innovative, and disruptive programmer who could have not only written the software but innovated the concept into something beyond the scope of the original concept design.
There are some hackers out there who can see data structures and algorithms like a painter can see the scene painted on the canvas before they make the first stroke. Innovation requires an exceptional level of creativity and the ability to abstract an opaque idea into a deep, detailed conceptual model.
People cant be taught to think this way. Much like a professional musician, whom despite practicing each day for hours to perfect their art; will always lack the skill of a virtuoso mind like Mozart. Many people are great engineers, but could still lack in talent against someon who was just born with an exceptionally creative and brilliant analytic mind.
These are the kind of programmers that you cant afford to let your competition snatch up. Yet you just foolishly tossed Alice's resume in the trash because Grandpa Bob has credentials and she doesnt.
Interview Quiz: When given questions like, "given two arrays, find all the elements in one array that are also in the second array". in attempt to talent scout.
A good programmer will claim the real right answer is either the obviously simple choice or the theoretically most efficient, and well tested sort algorithm that can be found using google.
If comparing two arrays is seriously a performance bottleneck that requires optimization, you might as well skip the bs and go with the best. We arent solving problems if they no longer exist, and a programmer not solving problems is a programmer wasting time.
4. Portfolio A portfolio is the only valid option to consider when you want to be absolutely sure you hire the best developers.
If the person hiring cant identify what good code is, then your startup is screwed anyways. You dont need a degree to build a portfolio, and if somebody does choose to college they get to build their portfolio as part of the class projects.
If a developer doesnt have a portfolio or if the software in their portfolio doesnt actually do anything useful then you know they arent a real hacker.
Hiring a programmer should only ever be based on the quality of software they have authored.
Like Linus said, "Talk is cheap, show me the code".
Also go is at heart a language specification. It is designed so that anybody can create their own go compiler, and as long as they honor the go spec and standard library, all go code should theoretically compile with your custom compiler.
There are already a few other compilers in development out there. Gccgo is a go compiler with gcc as a bankend. llgo is similar except its frontend is written in go and uses cgo to wrap the LLVM C wrapper api to generate llvm bitcode.
Im starting to reimplementing the official go gc and cc compilers written in go for my port of plan9's userland shell commands called goblin.
https://github.com/mortdeus/goblin
In my opinion this is the core difference between java and go. Oracle believes they own java and will fight against projects derived from java, for example the lawsuit against dalvik. Google on the other hand is open to projects like the ones I mentioned above.
"I don't think this is a reasonable demand for startups or even medium sized businesses."
It was a recommendation. Go is a great investment, and while it may not have a "huge" market share, many of the most influential tech company's in silicon valley are starting to use Go.
https://code.google.com/p/go-wiki/wiki/GoUsers
And some of these companies are even writing/rewriting their spotlight core projects with Go.
https://code.google.com/p/go-wiki/wiki/SuccessStories
"Libraries cost time and money to produce"
Time yes, Money no. Developers may charge money to produce software, however there are lots of software projects out there that were written by developers who worked for free. Does a painter always paint with the intention to sell his/her work at a gallery showing? Maybe they just want to create something for other people to experience.
I view all software from this perspective, and I give alot of my time working on go boilerplate libraries and other opensource projects for free because I want to help empower developers to create real world solutions to real world problems without the nuance of having to "invent the wheel before being able to engineer a new automobile".
"and if you are relying on free volunteers, development will either be slow or buggy and likely both."
Pass.
"I remember when I tried to look into a MySQL library last month. The first one I tried wouldn't even compile. The 2nd one threw a connection error not when I issued the dial function, but when I tried a query on a fake IP."
Have you tried reading https://code.google.com/p/go-wiki/wiki/SQLDrivers, or... perhaps considering using one of these, http://godoc.org/?q=sql
Maybe consider this which looks considerably up to date. https://github.com/go-sql-driver/mysql
Your experience last month with Go may very well be irrelevant now. Ive been using Go for about a year now, and many things have changed within go's development ecosystem within that time period.
If you arent willing/capable of contributing to go by committing code, thats perfectly fine. However, atleast make sure that your issues with the language are actually still relevant before you discourage other developers from exploring the language themselves.
"If you want Go to succeed"
As if its likely to fail? Go has already successfully satisfied the language designer's desires that motivated the project's creation. They want to create a language that makes their programming environment more enjoyable and efficient when developing software at a scale Google operates at.
Unless some language comes along that is exceptionally better at solving the problems Go was design to solve, Go will remain a successful programming language for those who use it.
"get Google to start funding it more"
Are you kidding me? Google has some of the most well respected engineers in computational history working full time on Go. Google cant just walk into best buy and hire geek squad to work on Go. We are trying to reduce go's overall source code complexity so that we can not only maintain the code, but ensure we dont introduce bad language design mechanics as apart of the programming environment. We want to avoid the situation, years down the road., where we are faced with having to make a decision to either cope with a bad language mechanic or deal with it by introducing backwards incompatible changes that break gopher's code. Both options suck, and the only good option is to avoid the situation entirely by making sure we make the best design choices.
"or get used to having it grow organically like every other language."
Most languages dont grow organically. Most either grow all mutated and exponentially complex to adapt to changes in technology, or development either slows down or stops growing completely because the majority developers who used the language, moved on to something . Go on the other hand does grow organically, atleast it has so far. Everyday the project matures and issues we are frustrated with right now could be a faux problem because its already been fixed in go tip and you just need to rebuild the compiler.
http://swtch.com/~rsc/go11.html
I mean sure there are alot of bugs to fix and alot more than can be done to improve go's performance, but this is true for all software in general.
The reason go is a good investment because it has alot of good investors investing in it.
Go is a very young programming language and unfortunately there are alot of cases where we have to implement pkg foo, bar, baz, because pkg quux depends on them. There are going to be many places where things break at this stage in Go's life, however that shouldnt discourage using Go for real world projects, because many of yesterday's bug end up being debugged and patched today. Go is a great investment for your company, and I hope you and your team reconsider using go for your projects after go 1.1 comes out. http://tip.golang.org/doc/go1.1
If you guys need help, feel free to join us in #go-nuts on freenode's irc server. IMHO, The best feature of go is, arguably, the helpful evangelist-like gopher community hanging out in IRC. We wouldnt mind helping you guys with your issues, but you have to help us help you.
The thing is, if you are taking adderall because it "super charges" you, you are taking it for the wrong reasons. People with adhd (like myself) have to take adderall so that we can compete on a level playing field. There is nothing we can really do to self motivate and study. Without my meds I can not retain the information that I read. Without my meds I cant motivate myself to sit down and program because I cant concentrate and conceptualize the model im trying to write in code.
Adderall can be an invaluable tool for somebody who doesnt stand a chance without it, but it can take control of somebody who doesnt have a good enough reason to maintain self control and moderate their usage. The adhd mindset is a very awkward and uncomfortable feeling. Abusing our medication means we have to go back into that mindset and it sucks, therefore its easier to not let it become a craving addiction.
Also the zombie feeling the kid was talking about, is due to the fact that he is taking too high of a dose. Either that or he would be better off on ritalin or strattera. Each specific case of adhd is somewhat different and the underlying cause may be served by a different treatment due to the difference reactions the drugs have in the brain. (Adderall increases dopamine and prevents it reuptake. Ritalin, just prevents the reuptake, etc).
http://www.reddit.com/r/programming/comments/19gnki/legacycc...
I am not seeking any sort of recognition for the post whatsoever.