background preloader

Merrua

Facebook Twitter

mer

Irish, Programmer

Maths

Game design. Gamification. 14 lessons after five years of professional programming. Read your Damn Standard Libraries | Coding for Interviews. A Coding for Interviews weekly practice problem group member mentioned during our Skype call that reading through the Java collections library was the most valuable step he took while preparing for his programming interviews. In addition to getting a better understanding the standard data structures, hearing a candidate say “well the Java collections library uses this strategy…” is a strong positive signal. Indeed, other HNers echoed the sentiment: Wael Khobalatte writes (link added), I usually have a fun time going from method to method just exploring any of the implementations in that library. Josh Bloch (One of the writers of the library I think) uses a lot of examples from the Java collections in his book “Effective Java“, which I also recommend to everyone.

And dev_jim provides a great suggestion, It helped me when I was a bit rusty with data structures and was looking for a new job recently. Reading the standard libraries of your favorite programming languages is really worth it. I’ve been programming since I was 10, but I don’t feel like a “hacker” « Playing with Negative Space. When I was 10, I was programming in Logo after being introduced to it in my school's required computer class. Our teacher did not once call this programming; it was just another project among ones that usually weren't programming. I generalized almost every exercise—something that most of my classmates weren't interested in doing, and also something that can be tricky, but useful, when writing software. Instead of a teacher pointing out that I handled the assigned non-generalized exercise well, I was criticized for playing around with generalization because it was "harder to grade". Meanwhile, male classmates who wrote very similar code to my non-generalized versions were praised for their work.

My second introduction to programming happened when I turned 13. I came across my third programming opportunity at 16. I found out a few months after graduating college that I'd secretly been hacking since I was 10. Code like a girl. « Are you a passionate tech user? | Main | Head Rush Ajax ships! » Code like a girl Do engineers and programmers care about concepts like beauty and elegance? While I'm stereotyping with abandon, I might as well be honest. Does this What prompted this post--and it's whimsical title--is a post by Jamis Buck titled Beautiful code, test first, which includes the following:"He was telling me how he feels like he has to sit and tweak his code over and over until it not only acts right, but looks right.

But the best part was a comment by "Morten" that included the line: "As for spending too much time on making the code look right down to the last indentation - my code has been called “girl code” for the same reason... " And there you have it. From one of my favorite books on aesthetics and technology, David Gelernter's Machine Beauty: There is the ever-present danger when you discuss beauty in science, mathematics, and technology that readers will assume the word is being used metaphorically...

Kim.

Tools

Testing. Enterprise. Csharp. Lisp. Patterns. Data structures. Teaching Programming with iOS and Amazon EC2. I just shut down the Amazon EC2 instance we've been using all school year, so I thought it was worth reflecting on. Last August, I wrote about my new approach to teaching Ruby programming on our iPads. How did it work? In a word: perfectly. The Server Side Back in August, I set up an Amazon EC2 instance. I used the standard Amazon Linux AMI, and launched it in a Micro instance. The next step was to set up user accounts for each pupil. Responsiveness of the remote server wasn't an issue at all. We ran into no problems with with the EC2 server at all. The Client Side In my last piece, I was debating the exact combination of software to use. Textastic has a really nice feature whereby, if a file was initially downloaded from a remote server, Textastic can send the file back where it came from with one tap. The idea of switching between two apps to edit and run code didn't seem to have much impact on pupils.

The Hardware For these classes, I bought a number of these Bluetooth keyboards. Documentation. Heroku Dev Center. How Expedia Buys Its Way To The Top Of Google. Im an Expedia employee (inbound marketing director, covering SEO), although Im currently at the end of my notice period. (Im leaving in two weeks). Also, I worked in the B2B division, nothing to do with the consumer side that this article references. The author of the post linked above contacted me a couple of days before publishing it, to warn me that he would publish (quote: "damning evidence of expedia spam"). HOWEVER: If I wanted him to not publish it, he would "sell the post to the highest bidder".

That was what prompted me to post this on my personal blog: and for the record, I told him to sling his hook reference to extorting money out of anyone in exchange for not posting stuff about their backlinks. No doubt that is why I got singled out in the article. I'll let you all draw your own conclusions. Recommended Reading - A list of amazing blog posts, essays and articles. Writing. Google's "free food" is not free. In the summer and fall of 2006, I went through a multi-month process to interview at Google. After a bunch of phone calls, a flight out to Silly Valley for on-sites, and even more phone calls, they finally offered me a job.

Then we had to talk about money. At the time, I had read nothing about negotiation and didn't know what I was doing. They offered a sum which was in fact an improvement over what I had been making, but it wasn't the kind of offset I was looking for. What I find interesting now is that they had a ready-made comeback: they'd "go away to calculate" for a bit, and then say that the meals alone were worth some amount of money.

I think they told me 15 to 20 thousand dollars at the time. I've heard other values from other people who were told similar things during their hiring process. The point is, they deliberately inserted the food as a part of the bigger picture in lieu of more money. For a while, this worked. Then something changed. I learned a powerful lesson here. Programming Visual Basic .NET, Second Edition > Object-Oriented Programming > The Three Pillars of Object-Oriented Programming - Pg. 4.4. The Three Pillars of Object-Oriented Programming Object-oriented programming is built on three sturdy pillars: encapsulation , specialization, and polymorphism. Each class should be fully encapsulated; that is, it should define the state and responsibilities of that type. For example, if you create an Employee object, that Employee object should fully define all there is to know, from the perspective of your program, about each Employee.

Specialization allows you to establish hierarchical relationships among your classes. Polymorphism allows you to treat a group of objects in a similar way and have the objects sort out how to implement the programming instructions. 4.4.1. The first pillar of object-oriented programming is encapsulation. A class that provides a method that other classes can use is called a server. This is accomplished by drawing a bright and shining line between the public interface of a class and its private implementation. 4.4.2. 4.4.3.

The Ethics of Unpaid Labor and the OSS Community | ashe dryden. Disclaimer: This post is critical of open source software in the context of unpaid labor and the hiring requirements we've set up around it. It is not a criticism of open source software itself or the people who participate in it, both of which I and anyone who uses software benefits from. This is work that I - and many of us who do software for a living - also financially benefit from. tl;dr: I want to see all people fairly compensated for their labor without feeling forced into it; I do not want to see free and open source software stopped. This is a conversation that we've had a few times over the course of the past few weeks through twitter, blog posts, and in person, so I figured it'd help to pull the conversation all into one place and provide additional context for how unpaid OSS work creates inequalities.

It started a few weeks ago when @mislav pointed me to this tweet: And continued this morning after @dhh posted a blog post: How can requiring OSS contribution be a bad thing? 3A – Arrange, Act, Assert | XP123. Some unit tests are focused, other are like a run-on sentence. How can we create tests that are focused and communicate well? What's a good structure for a unit test? 3A: Arrange, Act, Assert We want to test the behavior of objects. One good approach is to put an object into each "interesting" configuration it has, and try various actions on it. Consider the various types of behaviors an object has: ConstructorsMutators, also known as modifiers or commandsAccessors, also known as queriesIterators I learned this separation a long time ago but I don't know the source (though my guess would be some Abstract Data Type research).

With those distinctions in mind, we can create tests: Arrange: Set up the object to be tested. Act: Act on the object (through some mutator). Assert: Make claims about the object, its collaborators, its parameters, and possibly (rarely!!) Where to Begin? You might think that the Arrange is the natural thing to write first, since it comes first. Such a test looks like this: Hollystyles (hollystyles) sur Twitter. On Technical Entitlement — Tales from the Front. By most measures, I should have technical entitlement in spades. I’m the granddaughter of a software engineer and the daughter of a entrepreneur. I could use a computer just about as soon as I could sit up.

When I was 11, I made my first website and within a year I was selling code. I took six semesters of computer science in high school, and I had two internships behind me when I started my freshman year of college. Despite what it may seem, I’m not trying to brag—seriously. And yet I am. You know the type. That’s technical entitlement. It’s easy to dismiss technical entitlement. Let me frame it this way: I know logically that I’m pretty good. I always feel like I’m behind, trying to catch up to a group of super-elites who’ve been programming since they could walk.

Now imagine someone starting out as a college student taking their first CS course. “Oh, that’s not for me.” As an aside, this is patently absurd. She broke down the entitlement barrier. Sound familiar? I sure hope so. Philip Guo - Silent Technical Privilege. January 2014 When I first read On Technical Entitlement by Tess Rinearson in mid-2012, it resonated with me so much that I emailed her.

I've been meaning to expand that original email into an article for a while now, so here goes ... This was me at nine years old (with horrible posture): I started programming when I was five, first with Logo and then BASIC. By the time this photo was taken, I had already written several BASIC games that I distributed as shareware on our local BBS. I was fast growing bored, so my parents (both software engineers) gave me the original dragon compiler textbook from their grad school days.

That's when I started learning C and writing my own simple interpreters and compilers. Okay that entire paragraph was a lie. When that photo was taken, I didn't even know how to touch-type. Silent Technical Privilege As an Asian male student at MIT, I fit society's image of a young programmer. “Well, you only got into MIT because you're an Asian boy.” The other side Conclusion. How to Deal With Crappy People Altucher Confidential. Posted by James Altucher Ugh, I’m disgusted with my brain.

I see people walking down the street and there’s like this killer inside me providing running nasty commentary about each person. Do you do this also? I have to stop myself often: “you don’t know this person who is randomly crossing the street. You can’t possibly know that he’s a cheating lying rich Hamptons-worshipping whoremongering obnoxious trust fund baby with a 17 year old mistress on the side who doesn’t wipe, who doesn’t wash, who would wish nothing better than to see you die”. You can’t know that! Most people are pretty crappy. There are only four types of people. There is no path to happiness. In an earlier article on my blog I gave my own Daily Practice that has helped me out of every tough situation in my life for the past 15 years (when I’ve been disciplined enough to apply it).

It has 4 legs. The Practice works and brings one from the brink to success and then more success. The Four Types of People #1 Happy. Blog-rants - steveyegge2. Last updated: September 12, 2006 News (3/15/06): I started a new blog. Like, a real one. Finally! I started writing an internal blog at Amazon.com in summer 2004. I was at Amazon for just under seven years, incidentally. After I left Amazon to pursue another opportunity, I dusted these old blog entries off, removing company-confidential information, changing most names to initials, and so on. These rants started appearing six months later (in Dec 2005) on sites like del.icio.us and reddit. So I need to go back and annotate them, edit them, clean them up, before too many more people start thinking I'm a complete circus sideshow.

Most of them are crap, or experimental at best. If you insist on peeking at one or two, the most popular ones (by percentage of page hits) seem to be Tour de Babel, Effective Emacs, Google's Secret Weapon, You Should Write Blogs, Is Weak Typing Strong Enough? Important Disclaimer: I'm not speaking for Amazon or my current employer in any of these rants. Stevey's Blog Rants. Joel on Software. Scott Hanselman's 2014 Ultimate Developer and Power Users Tool List for Windows. Dark Matter Developers: The Unseen 99% Coding Horror. Confessions of an Unlikely Developer. Linux Kernel Internships (OPW) Update | The Geekess. A month ago, Amanda McPherson and Greg Kroah-Hartman from the Linux Foundation asked me to coordinate an internship program aimed at getting more women to participate in the Linux kernel.

In order to be considered for an internship, the applicants need to submit patches to the Linux kernel, and get them accepted. The results have been amazing: 41 women applied for 6 Linux kernel internships.In 13 days, 374 patches were submitted, and 137 patches were accepted.Diff stat for accepted patches: 105 files changed, 3889 insertions(+), 4872 deletions(-) Even though patches submitted after May 17th don’t count towards the women’s internship application, some of the women have continued sending patches.

I’m really, really proud of the applicants, and very pleased to announce that Intel’s Open Source Technology Center (OTC) was involved in funding three of the internship positions. We have seven different Linux kernel developers that will be OPW mentors. How did this happen? How I Got Hired at Cheezburger | crystal beasley. I was reading the article by Clay Shirky this morning and it lit a fire under me. The post, titled A Rant About Women, in short says that when women fail it’s often not because of lack of talent, ambition or intelligence but an unwillingness to be “arrogant self-aggrandizing jerks.” He was irritated to see more men than women succeed in his program at NYU ITP despite similar ability.

I’ll leave it to you to read the whole post. It’s well worth the time. I have my moments when I summon the balls to be the bitch the situation deserves. One of those was at SXSWi last March. I sat and munched on my fritos and fretted a bit. Turns out, he just wasn’t aware I was a coder. The point is that those moments of moxie make all the difference. Customer Development. * How we confuse symbols and things.