 |
|

|
If quotation frequency was a measurement of significance, Gordon Moore definitely would be the most important semiconductor engineer in history. Moore's Law – which states the number of transistors in semiconductors doubles every 18 months – has been Silicon Valley canon law for 40 years. However, Moore’s Law has nothing to do with engineering and everything to do with marketing.... While engineering is not a one-man show, it was two engineers at competing companies who led their employer’s respective evolution of the x86 architecture: Pat Gelsinger and Derrick “Dirk” Meyer.... After more than 30 years, the x86 architecture continues to grow, when most technologies go obsolete within a decade. From x86 to x64 and beyond...
|
|
|
|

|
Maybe changed the world, but maybe not for the better. Gelsinger may be single handedly responsible for us being stuck with the 8086 instructions. Still, a very impressive guy.
|
|
|
|

|
Even science recognizes that diversity is important: research from both the Kellogg and Sloan Schools suggest that cognitively diverse teams perform better on hard problems. Beyond that, though, hiring for diversity will set up better recruiting opportunities. Consider Harvard’s graduating computer science class: forty-one percent of the students are women, and an inability to hire talented females will start to significantly impact your ability to recruit altogether. Optimize for "let’s build together" rather than, “let me prove to you how smart I am.”
|
|
|
|

|
While Excel the program is reasonably robust, the spreadsheets that people create with Excel are incredibly fragile. There is no way to trace where your data come from, there’s no audit trail (so you can overtype numbers and not know it), and there’s no easy way to test spreadsheets, for starters. The biggest problem is that anyone can create Excel spreadsheets—badly. Because it’s so easy to use, the creation of even important spreadsheets is not restricted to people who understand programming and do it in a methodical, well-documented way. The role of Microsoft Excel in the “London Whale” trading debacle.
|
|
|
|
|

|
CodeProject wants to help women get involved and build careers in programming. What can we do? We asked some prominent female programmers, and this is what we learned. What we learned about getting more women involved in programming.
|
|
|
|

|
Terrence Dorsey wrote: getting more women
I'm all for it. Where do I sign up?
|
|
|
|

|
Thanks for a textbook illustration of why we have a lot of work to do.
Director of Content Development, The Code Project
|
|
|
|
|

|
One way to be successful is to see how something similar was done in the past. I wonder what industries in the past were lacking women and how the balance was shifted.
|
|
|
|

|
Good point. In fact, that will bring us to an odd conclusion.
In South East Asia there are a lot of women working in construction, roads, railroads. Those are typical 'male jobs' according to western standards. Ironically, nobody is complaining about those jobs having too few women candidates...
Apart from exposing an underlying hypocrisy in the entire story of equal opportunity, it also teaches us that how people fill in gender roles is largely determined by how culture defines those roles.
So, if we want more women in IT, we need to change our culture. Sounds easy, right?
.
|
|
|
|
|

|
Terrence Dorsey wrote: CodeProject wants to help women get involved and build careers in programming
Is there anything that prevents women getting involved? I mean why do you think they'd need help? If they wanted to program they would do... If I wanted to start a career in whatever job which, in vast majority, is held by women I don't think I would need specific help. I'll simply go for it.
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^]
|
|
|
|

|
Given that the IT industry is still inherently misogynistic, I can fully understand why women steer clear. My wife used to be a developer, until she left the industry because of the sexism she encountered at the companies she worked at.
Look at how some of the women who have spent time here on CP, eventually left in disgust at the patronising and sexist way they were treated. We lost Trollslayer and Annie MacDonald in the same week, and I, for one, feel the boards are a poorer place for their loss.
|
|
|
|

|
My wife used to be a dev as well and she's still in the IT industry. She never had to suffer from sexism and she often says she rather likes working with a bunch of men than a bunch of women.
I am not saying she had never heard a joke you could consider 'mysogin' but nothing she did not consider as a joke. Like english and french would tease each others when they meet. Nothing which denies respect.
Now the fact you understand why women steel clear does not tell why they would need help... Reading you it's more likely that men needs help.
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^]
|
|
|
|

|
Guirec Le Bars wrote: Reading you it's more likely that men needs help
Exactly.
|
|
|
|

|
I'm glad your wife hasn't been affected by this. But just because you don't think barriers exist doesn't mean they don't exist. I spent much of the past year following issues around women in tech and talking to women about their experiences. Not everyone runs into horrible behavior, but the vast majority do.
Here's some good reading from women speaking out about what they encounter in the industry. Nobody should have to put up with this.
Feed Courage, not Fear [^]
Gender Bias 101 For Mathematicians[^]
That's just the top of my list. I have many more.
To be fair, this isn't just an issue with the tech industry, nor is it just about women. There are also problems with underrepresentation and barriers to entry based on race and socioeconomic status. In theory, tech (particularly programming) is equal opportunity. The reality is different.
How White Male Tech Writers Feed the Silicon Valley Myth of Meritocracy[^]
These are societal issues. We can't fix society. We can try to make positive change in our corner of it, however.
Director of Content Development, The Code Project
|
|
|
|

|
Terrence Dorsey wrote: But just because you don't think barriers exist doesn't mean they don't exist
Dear Terrence,
It is very kind of you establishing what I think or not but I assure you I can do that pretty much by myself and if you don't mind I'd rather do.
Terrence Dorsey wrote: I spent much of the past year following issues around women in tech and talking to women about their experiences. Not everyone runs into horrible behavior, but the vast majority do.
I have not spent much of the year following issues around women in tech but I have been working in tech for the last 20 years in 3 countries over 2 continents and do not make any sense of this “vast majority”. I have always been working with women and still do. My actual team is composed of 7 males and 5 females and there is no misogynism or whatsoever. Do you have any figures for this 'vast majority' ?
That said I read your article and it properly spots the so-called 'issues'. I can paraphrase the following way without, I guess, changing your statements:
1. Most women are simply not interested by the coding activity. Thus they don't enter IT study.... Most woman, just like most men out of the IT sector would perceive us, developers, as laboratory rats or martians (take a 2nd look at CP logo and you'll see that yourselves at CP are promoting that image) or whatever but nothing cool, fancy or girly.
2. Women who had embrace the coding activity would not transition from junior to senior: based on my personnal experience I think that is mostly true. Most of the female developers I met have transitioned to BA or PM roles. They are still working in the IT field, with the same guys they were working when they were devs, but they wanted that change for reasons of theirs. They wanted that change and they got it. They were not looking forward to senior dev positions at all. They just found themselves more comfortable following a slightly different path (just like many men do).
3. Your article properly demonstrate that women who want to work in IT can. They don't need help. They are establishing associations of their own, have their projects set up as men do and have as much success if not more.
Now let me send you some links as well where you can see that misogynism is not the issue. The issue is the self-representation that people make from IT that prevents women to consider the career path. And that’s truer in the US than anywhere else.
http://onlinewomeninpolitics.org/sourcebook_files/Ref5/Gender,%20Information%20Technology,%20and%20Developing%20Countries-%20An%20Analytic%20Study.pdf[^]
http://test.scripts.psu.edu/users/g/m/gms/cis/old-cis/oldwebiste/05/eileentrauth/Publications/Understanding%20the%20Under%20Representation%20of%20Women%20in%20IT.pdf[^]
You want more women in development? Then try to change the image of the industry and you can probably start by an honest reflection on how attractive your website is for women. Don't get me wrong: I like CP very much! But rather for its content that for the image it gives of a developer...
Now you can enlarge the debate to religion, racism, etc… and then I fully agree with you : these are socio-cultural issues which are not specifics of the IT industry : there are stupid people everywhere, in every domain but whatever you do you won’t change them... As French people says: “Il n’y a que les cons qui ne changent pas d’avis” that you can translate by something, more politically correct, like: « only dumbs do not change their mind »
Guirec
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^]
|
|
|
|

|
Quote: I can paraphrase the following way without, I guess, changing your statements:
Sorry Guirec. I think you've completely misunderstood what I wrote. Best of luck in your endeavors.
Director of Content Development, The Code Project
|
|
|
|

|
The vast majority of women developers that I've known were originally from India, China, or another Asian country, where it's normal to drive women towards an engineering career path. In America, the tradition is to make starting a career in software development painful so that people get driven away (men and women alike), and only people who learn to enjoy programming on their own end up still in that career path.
My wife got a degree in psychology and started a career in social work because that's what felt right to her when she was just starting college; in America, people do what feels right. I don't think you're going to change that kind of culture overnight.
|
|
|
|

|
Bored in the blizzard in Boston; I was inspired by my IRC friend ‘Plazma’ constantly making fun of my reverse dns of scrye.net I came up with this pretty neat hack. It is accomplished using many vrfs on (2) Cisco 1841s. For those less technical, VRFs are essentially private routing tables similar to a VPN. When a packet destined to 216.81.59.173 (AKA obiwan.scrye.net) hits my main gateway, I forward it... Help us tracert, you're our only hope.
|
|
|
|

|
Cloud-only operating systems are a great option for most people. Web apps are slowly replacing native apps, and that trend is likely to continue. However, one type of user that will have a hard time migrating to the cloud is software developers. So many of our tools are local command line utlities, and they don’t really work in the context of a web application.... Crouton makes it painless to install a chroot Ubuntu environment on Chrome OS. In other words, it creates an Ubuntu file system inside of Chrome OS’s file system and logs you in. When logged into the chroot, you are effectively running Ubuntu. This isn't it, but would a cloud-based development environment work?
|
|
|
|

|
The more I play around with Swearjure (I've now been able to create a fully working quicksort), the more I appreciate certain kinds of programming constructs we today take for granted. However, I also realize that most of what we would believe is essential for ANY programming language to be turing complete may not be needed if we take another set of programming constructs instead. Take conditionals as an example of what something people consider to be critical to make a working programming language, yet really isn't if we introduce another programming construct. What does programming look like if we do away with conditional branching?
|
|
|
|

|
Terrence Dorsey wrote: What does programming look like if we do away with conditional branching?
I loathe if-then-else statements.
Marc
|
|
|
|

|
If he can implement a Turing Machine that way then it is Turing Complete.
Personally, I don't care much for recursion -- Fibonacci and Factorials are particularly poor targets for recursion.
|
|
|
|

|
PIEBALDconsult wrote: Fibonacci and Factorials are particularly poor targets for recursion
That depends a lot on your language. In Haskell, for example, which employs lazy evaluation, they work just fine.
In a procedural language, factorials only really work well in the presence of tail call optimization, and fibs not at all, without some form of Memoization[^] going on.
|
|
|
|

|
I find hiding the branch in the expression res[n<2] to be kinda cheating.
|
|
|
|

|
It looks like a pain in ***whatever really hurts here***
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^]
|
|
|
|

|
This isn't a new idea. I first came across this type of programming back in the 90s when we had to integrate one of our systems into a language called ObjectStar (formerly Huron). I remember the O* devs as being real zealots - they worked for a company called Amdahl that was heavily involved in pushing it.
|
|
|
|

|
Objectstar did have conditionals, it just wasn't with if-then-else, do while, etc. You put in an evaluation and if it was true or false executed certain lines of code. It took a while to wrap your head around but was pretty simple once you had the "a-ha" moment.
|
|
|
|

|
Ahh. That wasn't what the Amdahl devs were telling us. They tried to keep it all mysterious and mystical. We had a visit from a guy called something like Dara Yuvari (who'd invented the language IIRC), and you'd have thought it was the second coming of the messiah.
|
|
|
|

|
No, no second coming. I did 6 years of O* programming with a VB front end. I liked it and they had plenty of great ideas but it was a closed system. Objectstar was the DB, the programming language and the problem reporting system all rolled into one. It allowed you to rewrite ANY of the programming language as well, gave you the option to fix anything. The programming environment was done in a 3270 terminal emulator so the coding window was small. if I remember correctly you were limited to 5 conditions, 40 lines of code and upon saveing the code you were obliged to add a comment to explain what it did.
Looked something like this.
variable1 > 3 | Y N
variable2 > 5 | Y Y N
---------------------------------
some code to execute | 1 1
more code to exectue | 2
still more code... | 2
still more code... | 1
call another chunk of code| 3 3 3
----------------------------------
|
|
|
|

|
Mathics is a free, general-purpose online computer algebra system featuring Mathematica-compatible syntax and functions. It is backed by highly extensible Python code, relying on SymPy for most mathematical tasks and, optionally, Sage for more advanced stuff. Use Mathics online or download and install in your local environment.
|
|
|
|

|
Adherence to DRY (“Don’t Repeat Yourself”) does not necessarily preclude repetition of code. In the endless struggle to refactor, the entropy we are trying to reduce is not in the raw text of our source code; it is in our business logic, which (in applications with little or poor testing) is often uncodified. Sometimes, refactoring can hamstring our code, and when done naïvely it can be a source of technical debt, rather than an antidote thereto. If you use copy and paste while you’re coding, you’re probably committing a design error. Except when you're not.
|
|
|
|

|
If you are not a computer scientist most of these people will, almost certainly, be unknown to you. Sadly the popular drinking game 'name that computer scientist' is, for you, over quickly. This may not seem a big problem but I would wish to argue otherwise. The scientists below have set out the foundations of our digital world. Their work is beautiful and important. It is furthermore, of the highest cultural significance spanning the boundaries of mathematics, engineering, psychology and the natural sciences. It is what we computer scientists aspire to. How many do you know? What others would you include?
|
|
|
|
|

|
I'd take Codd off the list. And I think maybe some others could have done their work without a computer, much as Alan Turing did.
I could nominate Sacha.
|
|
|
|

|
Facebook wants an awful lot from its emoticons: They should be able to convey complex emotions, for example, like contemplation, admiration, affirmation, maternal love, determination, devotion, resignation, and gratitude. But how, in a tiny digital image, do you depict something as subtle as shame as opposed to remorse, or shyness as opposed to modesty? Current emoticons can't do that, or anything close to it. So Facebook has turned to Pixar story illustrator and former storyboard artist at the Wallace and Gromit studio Matt Jones, to help make something entirely new. He's charged, basically, with reinventing the smiley.
|
|
|
|

|
Today, Nginx offers fewer features than Apache, but its performance is significantly higher. In this way, it's not unlike MySQL or NoSQL in the database market, or JBoss and Tomcat in the application server market, or any number of other open source examples where the open-source alternative is initially feature-constrained but significantly better for a particular purpose. Over time, it adds functionality and continues to improve performance until, like Linux in the server and mobile operating system markets, it dominates. Apache won the web server market ages ago... That is, until recently.
|
|
|
|

|
Microsoft has been pummeled by critics this week over supposedly inadequate storage space in its new Surface Pro. But those criticisms are horribly flawed. Big surprise: when you do the disk space math, Surface Pro and MacBook Air are practically twins. Gibibytes, Gigabytes... let's call the whole thing off.
|
|
|
|

|
No, there's only one area where Android falls really, horribly, undeniably short when it comes to the tablet form factor: The web browser. It's the most fundamental tablet app, IMHO, and yet the web experience on Android could not possibly be worse. I honestly have no idea how this is possible. And it's not just Chrome: a survey of browser experiences on Android.
|
|
|
|

|
There are plenty of people whose paths seem to be effortless when it comes to getting the best opportunities. And although you may wonder what the person’s secret is, the truth is that there’s really no secret to be bottled.
http://www.recruiter.com/i/4-habits-of-highly-successful-job-seekers/[^]
Twenty years from now you will be more disappointed by the things that you didn't do than by the ones you did do. So throw off the bowlines. Sail away from the safe harbor. Catch the trade winds in your sails. Explore, Dream. Discover.
|
|
|
|

|
A whole page of fluff. O, happy day.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|

|
TL;DR: Be fluffy. But not to much.
|
|
|
|

|
You’re close to shipping and you receive a shopping list of bugs and changes. Some are tiny and un-eventful, some are show stoppers, some let the bad guys in, and some are simply scope creep trying to sneak through the door. It’s hard to know where to start without reclassifying them because the majority of them are all labelled Critical. It’s time to sit down with whoever documented your bugs and do some talking… Prioritize your work: read this first!
|
|
|
|

|
I use a number of text editors. The three I have pinned to my taskbar are Visual Studio, Sublime Text 2, and Notepad 2. I have three because I like features from one and wish those features were in another. Sublime Text (and a few other editors) has a great feature called Simultaneous Editing. It's the very definition of an advanced - but core - editor feature. Enter the MultiEdit extension for Visual Studio. Holding down ALT while mouse-clicking in the editor will add multiple selection points, so when you type, text will be added to all the selected positions. Should this be a built-in feature of VS?
|
|
|
|
|

|
Most developers stagnate both intellectually and productively after 4-5 years in industry; they adopt some tools, pick up some patterns, learn a language or two, and maybe they’re even able to work at a successful company and contribute to some important products. Great! But what happens when you hand a developer a blank sheet of paper and the opportunity for them to own a product? Most of the time: chaos and failure. If you want to be a better developer, it starts with changing the way you look at your code and how you program.
|
|
|
|

|
He makes good points but perhaps misses the deaper reason for the 'lack of confidence' he often sites as being behind failures. All too often this is due to developers who can use the tools but don't really have a deep understanding of how they work. They panic when given a blank sheet of paper because they've never been asked or asked themselves the question. "What if I really had to start from scratch?" and then gone away and worked out the answers. This is not about taking the customer point of view or understanding that it's business problems that we're solving it's quite the reverse it's about caring about code for the sake of code. First wanting to do it right and to have full insight into what's happening from the registers upwards so that you can make sure it's done right, own it completely and understand it completely. If developers never get to do this why is it a surprise that they lack confidence and rely on habituated ways of doing things. Most have spent their entire carrers being told not to look under the hood, just fix the surface problem and get it shipped, because people who don't understand software will never grasp that that is not where the long term interest of the business lies.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
 |