I was tickled to see the new site omegle.com that let's you chat with strangers. What a concept. Omegle was started by an 18-year old high school student from Vermont. That's the great thing about the web these days - anybody can be a player. Although my first use was not all that intriguing:
Connecting to server...
You're now chatting with a random stranger. Say hi!
Stranger: hi
You: hi
Stranger: asl?
You: i don't know what that means.
Stranger: age
Stranger: sexe
Stranger: language
You: oh
You: 50/male/english
You: u?
Your conversational partner has disconnected.
I'm blogging about programming, but ... hey look over there - it's something shiny!
Monday, April 27, 2009
Thursday, April 23, 2009
Using Viruses to Treat Bacterial Infections
New Scientist has a great article on an old technique of using viruses to treat bacterial infections. Instead of using a broad-spectrum antibiotic that indiscriminately kills good and bad bacteria, infections can be treated with a bacteriophage that only attacks a specific species of bacteria.
Monday, April 20, 2009
AgileATX April Meeting - Scott Bellware on "5 Things I Learned from Lean "
Before Scott's presentation to the 100 people assembled for AgileATX started, I talked with a recruiter (it's a good sign for recruiters to be at an Agile group) who said two interesting things:
1. Demand for Java and .Net programmers is about equal, but java has been growing because the proportion of government jobs is increasing and our government is often open source friendly.
2. Many large corporations are looking for developers with an Agile edge.
I always enjoy hearing Scott "Force of Nature" Bellware talk. He's original and not afraid to challenge current software dogma. This week Scrum was skewered. The point of his that struck me most has to do with Scrum teams being democratic. "Don't trap your best people into a democracy where good people are outvoted." You need a disciplinary to drive the process.
On another point, in reference to the lean principle of a continuous learning community he said, "A learning organization cannot happen when people feel entitled not to learn."
Wednesday, April 15, 2009
Keeping Software Developers in the Flow By Combing Meetings
In their book Peopleware, Demarco and Lister talk about the importance of giving developers large blocks of time to get let them get "in the flow" and wrap their heads around a problem. Continual distractions like meetings, phone calls, and reading emails break the train of thought and it may take tens of minutes to get concentration back on the deep technical issues. Today I took action on their concept.
On my team we have a weekly book discussion time, where each of us gives a summary of their current technical book. (Our current books are jQuery in Action, Code Complete, Hibernate in Action, and Domain Driven Design Quickly). We meet on Wednesday at 2:30pm, but this breaks the concentration of my developers - we have to stop our work, check which conference room it's in, so we are combining our book discussion time with our weekly team meeting to remove one interruption of our time. I'll post later how this works.
Tuesday, March 31, 2009
15 Helpful Tips from Scott Bellware's Behavior Driven Class
On March 24th, last Tuesday, I attended Scott Bellware's helpful seminar on "Test-Driven Development and Behavior-Driven Development". A few of my take-aways:
- One bug takes a unit of time to fix, but with multiple bugs the time goes up exponentially since the bugs can interact. Moral: Code in steps and only introduce one bug at a time.
- Ask if the test you are about to write is a valuable test.
- Code-DB impendence mismatch example: If orders have links to customer in the db, in code the customer has links to the orders.
- Using "static" methods between layers is bad, it's like welding the objects together.
- Inheritance is strong coupling, to be used as a last resort.
- Scott and his team removed an entire layer of testing when they realized it provided less value than it took to maintain.
- Databases are places for dead objects, not logic.
- Someone at the meeting said Microsoft doesn't really do domain applications like we do, so they cannot really offer much advice on how to code.
- "Reuse" is not a good goal.
- You can overwrite tests, simple things are tested in more complicated tests.
- Don't use prepopulated databases with test data. Start with an empty database, and end with an empty database.
- When Scott asked the participants "Who does unit testing?" 80% of the 25 people raised their hands. "Who uses MSTest?", one hand.
- Regression tests are a side effect of Test Driven Development, not the primary goal.
- Doing traditional OO analysis (nouns, verbs,...) creates more objects than needed.
- Don't directly expose an object's collections; use helper functions on the object. (Use Customer.Add(obj) instead of do Customer.list.add(obj))
Monday, March 09, 2009
Sunlight turns carbon dioxide to methane
Craig A. Grimes and friends at Penn State have produced 20 times the previous amounts of methane from sunlight and water with the aid of a catalyst of titanium dioxide nanotubes. This is important for many reasons:
1. The solar energy is storable as methane. The methane can be compressed into tanks and burned late at night when the sun does not shine.
2. Methane can be processed to produce liquid fuels for our cars so we don't need to import as much foreign oil.
3. To create energy this way just requires panels of the catalyst and water facing the sun. Unlike with many biomass energy crops which need arable land, water, warm temperatures, plowing, fertilizing, pesticides, and post-processing, this method is simple and direct.
4. The resulting fuel is carbon neutral.
The story is illustrative of how early on this science is. To get maximum yields they are trying different combinations of catalysts like copper and platinum. I look forward to the day when researchers don't have to randomly try different materials to achieve maximum efficiency, but that we will have a sufficiently advanced knowledge of materials we can calculate the exact proportions of elements to create methane from sunlight.
Our governments should be dumping money from helicopters on projects like this.
Friday, February 20, 2009
Yesterday's Model View Controller Training in Austin
Yesterday Eric Hexter and Jimmy Bogard from Headspring gave an excellent free four hour overview class on the ModelViewController framework from Microsoft(see previous post). The framework is currently available in preview form, but the 1.0 version is rumored to be out this month. The MVC framework is Microsoft's answer to Ruby on Rails. (Why did Microsoft call it the MVC framework, the same name as it's concept? I guess to be consistent with their bad naming of other technologies. I guess "C# on Rails" would have been too obvious. Why not name F# "The Functional Language"?)
Anyway, I'm very excited about the new framework.
Subscribe to:
Posts (Atom)