1) Coding. The candidate has to write some simple code, with correct syntax, in C, C++, or Java. 2) OO design. The candidate has to define basic OO concepts, and come up with classes to model a simple problem. 3) Scripting and regexes. The candidate has to describe how to find the phone numbers in 50,000 HTML pages. 4) Data structures. The candidate has to demonstrate basic knowledge of the most common data structures. 5) Bits and bytes. The candidate has to answer simple questions about bits, bytes, and binary numbers.
- Blake Matheny
A smart candidate will do well on the engineering challenge problem. A productive candidate will be able to explain past projects in detail. A valuable candidate is smart and productive, but also has useful knowledge gained from experience.
- Blake Matheny
Facebook has learned a number of lessons about data management: * Shared architecture should be avoided; there are no joins in the code. * Storing dynamically changing data in a central database should be avoided. * Similarly, heavily-referenced static data should not be stored in a central database. There are a number of challenges with MySQL as well, including: * Logical migration of data is very difficult. * Creating a large number of logical dbs, load balance them over varying number of physical nodes. * Easier to scale CPU on web tier than on the DB tier. * Data driven schemas make for happy programmers and difficult operations.
- Blake Matheny
10 reasons I should use zsh. Been meaning to move for a little while, might just be time to port my bashrc files. Also really like fish but it doesn't seem to be as widely used.
- Blake Matheny
Interesting analysis of Demand Media vs other content farms. Begs the question of whether content farms are ethical. Also touches on ad-driven content and the utility of content by users.
- Blake Matheny
Ask for forgiveness, not for permission. (Most) Screw ups are OK. Look for the line at your door. Code is king. Lone wolf syndrome. Try out stuff. New team? Pick people over products. Get out of your comfort zone. Ask the uncomfortable questions. Go say ‘Hi!’. Praise in public, pull down pants in private. Best things are taken, not given. Don’t be an asshole.
- Blake Matheny
Testing on the Toilet: Revolutionizing Developer Testing at Google - Software Testing Club - online QA & software testing community - http://www.softwaretestingclub.com/video...
Interesting talk on how two Google engineers helped turn testing into a cultural aspect of the company. Some neat things: * Fix It Days - Days where people focus on things they typically can't * Got a test class introduced to new employee orientation * Invited test speakers. Gave away books at talk to encourage people to come. * Beer and Ice Cream social. People show up. People talk about testing. * Aero chairs or bigger monitors for unit tester of the week. * Made a 5 minute movie about testing at Google * Put best practices in the bathroom, posted in front of urinals * Brief but meaty. Weekly episodes. * Code coverage, complexity, tools (selenium), etc Lots of really great, creative stuff.
- Blake Matheny
Someone finally created a date/time API. Unfortunately it looks rather incomplete. Disambiguation comes from specifying the formats. Whee.
- Blake Matheny
Eliminating waste is the fundamental principle of lean thinking. As defined by Womak/Jones in their book “Lean Thinking”: Waste is any human activity which absorbs resources but creates no value. Of all resources, there is no resource more valuable than time. Time is more valuable than money. While money can fluctuate up or down, time only moves in one direction – down. Another way in which the value of time shows up for lean startups is through Boyd’s Law which states that: Speed of iterations beats quality of iteration. Colonel John Boyd, a military strategist and Air Force fighter, found this by studying an anomaly in dogfights where an inferior aircraft (F-86) consistently beat a superior aircraft (MiG-15) because it was able to iterate faster thanks to a hydraulic versus manual flight stick. Eric Ries applies Boyd’s Law to lean startups by highlighting the importance of maximizing cycle time through the build/measure/learn loop.
- Blake Matheny
Here’s the part where you throw up in your mouth: the Moon is about 1.2 light-seconds away, meaning round-trip ping times are going to be at least 2.4 seconds due simply to the speed of light (or apparent lack thereof). As always, Wikipedia has something to say about this. Let me be clear: 2.4 seconds is 2400ms, which is 60 times slower than the Terrestrial ping times I demonstrated.
- Blake Matheny
How do these introverted leaders do it? How do they thrive in the extroverted business world? They seek to understand--and play to--their strengths.
- Blake Matheny
Prey is a lightweight application that will help you track and find your laptop if it ever gets stolen. It works in all operating systems and not only is it Open Source but also completely free.
- Blake Matheny
Two friends were at a party held at the mansion of a billionaire. One said, “Wow! Look at this place! This guy has everything!” The other said, “Yes, but I have something he'll never have: enough.” When I decided to sell my company in 2008, I already had enough. I live simply. I hate waste and excess. I have a good apartment, a good laptop, and a few other basics. But the less I own, the happier I am. The lack of possessions gives me the priceless freedom to live anywhere anytime. Having too much money can be harmful. It throws off perspective. It makes people do stupid things like buy “extra” cars or houses they don't use - or upgrade to first class for “only” $10,000 so they can be a little more comfortable for a few hours. So I didn't need or even want the money from the sale of the company. I just wanted to make sure I had enough for a simple comfortable life. The rest should go to music education, since that's what made such a difference in my life.
- Blake Matheny
Dummy objects are passed around but never actually used. Stubs provide canned answers to calls made during the test. Fake objects are similar to real objects but they take shortcuts which make them unsuitable for production (in memory db usage). Mocks are objects pre-programmed with expectations which form a specification of the calls they are expected to receive.
- Blake Matheny
I've often found that people struggle with figuring out the right way to say no (in a manner that the party can digest). Or, there are other people who simply want to say no to everything. There is a balance that you have to strike. Pick your battles.
- Blake Matheny
A complete list of all major algorithms (300), in any domain. The goal is to provide a ready to run program for each one, or a description of the algorithm. Programming languages include Java, JavaScript and PHP, C, C++ either in direct form or generated from a Scriptol source.
- Blake Matheny
Spock is a testing and specification framework for Java and Groovy applications. What makes it stand out from the crowd is its beautiful and highly expressive specification language. Thanks to its JUnit runner, Spock is compatible with most IDEs, build tools, and continuous integration servers.
- Blake Matheny