Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 200
  1. Measuring a hot stack split

    One benchmark had a strange cliff: adding an innocent-looking local array made a short recursive walk much slower.

  2. FOR is evil or something

    Have you ever wondered how FORs impact your code?

  3. I changed a small parser to reuse a helper and made it slower.

  4. My Macbook Pro has two disks, an HDD and an SSD, each of 240GB or so.

  5. Not a-ok

    I have a little confession to make: our family is going through a rough patch.

  6. A couple of days ago, I was listening to one of my favourite podcasts, The Frequency, when one of the hosts, Dan Benjamin, thought of a cool domain name, ohitson.com and checked to see if it was available.

  7. Looking under a Go map

    I was timing a small word counter and noticed that making the map with a rough size helped more than I expected. func count(words []string) map[string]int { m := make(map[string]int, len(words)) for _, word := range words { m[word]++ } return m } Of

  8. Last night, as I tried getting my three year-old to sleep so I could play my brand-new copy of NHL 13, I had an epiphany of sorts.

  9. Two rows in a parser changed at once.

  10. What is inside a Go interface?

    I lost half an hour today to an interface that was not nil even though the pointer I had put in it most certainly was.

  11. Batching calls across cgo

    I wrapped a C checksum function and called it once per 32-byte record.

  12. In which Rob gets app.net

    I got myself an app.net account (@robteix) a couple of days ago.

  13. I graphed request times for a Go 1 service and found narrow spikes hiding behind a good average.

  14. How Go 1 goroutine stacks grow

    I launched one hundred thousand sleeping goroutines and expected memory use to resemble one hundred thousand operating-system threads.

  15. I passed a slice to a helper, changed an element, and watched the caller’s data change.

  16. What Go 1 compatibility buys

    I rebuilt a March programme with a newer Go checkout today and it compiled unchanged.

  17. I set GOPATH to the directory containing one package and then wondered why go install produced a peculiar path.

  18. Go 1 and the go command

    Go 1 was released yesterday, so I took a small command-line programme out of its old build script and built it using only the new go command.

  19. One tool for Go packages

    I moved a test package this morning and expected to edit a build script.

  20. Learning the new time package

    I updated a retry loop for the Go 1 preview and discovered that most of my old time code was really unit conversion wearing a wristwatch.

  21. I migrated a small text indexer to the Go 1 preview this week.

  22. Snapshots on the road to Go 1

    I rebuilt three small programmes against a recent weekly snapshot today.

  23. gofix is not a test suite

    I ran gofix over an older utility and was rewarded with a clean build.

  24. I noticed a small server pausing at intervals under an allocation-heavy test.

  25. The Go 1 preview and gofix

    The Go 1 plan changed how I looked at a compiler error today.

  26. A look at the old Go scheduler

    I wrote a small fan-out test and expected twice as many goroutines to mean twice as much parallel work.

  27. Conspiracy theories and hoaxes abound when it comes to mankind’s arrival at our moon (or the non-arrival.)

  28. Profiling before guessing

    I blamed the garbage collector for a slow parser this week.

  29. Reflection needs a reason

    I reached for reflection after writing the same diagnostic print twice.

  30. My need for anonymity

    Much has been said about the pros and cons of anonymity lately, prompted by Google+ TOS which require the use of one’s real name.

  31. While I was ranting about the annoyances I found in OS X Lion today, a friend commented he had no issues at all, except for the full-screen mode.

  32. Fascinating TEDx talk about the near future of space exploration.

  33. I wrapped a C function that opens a file.

  34. I’ve been spending an insalubrious amount of time on Google +.

  35. Godwin’s Law is anything but

    I’ve got many gripes with the internet, I’ll admit.

  36. Small Go interfaces

    I wanted to test a function that wrote a report without letting the test create files.

  37. This weekend I took the family to celebrate Father’s Day away from town.

  38. Euler 9 in Go

    For fun I picked one of the Euler algorithms I had played with before and rewrote it in Go.

  39. How to set up Emacs on Windows

    Just so I have it documented somewhere for future reference, here’s how to quickly set GNU Emacs up on Windows.

  40. Living on Go weekly snapshots

    I rebuilt Go this morning because a small program stopped compiling after I pulled the latest sources.

  41. Scheduler discussions become folklore quickly, so I built a few experiments that force observable events instead of inferring everything from total runtime.

  42. My programs often begin with three configuration fields and end with a parser that believes it is a database.

  43. Panic Is Not an os.Error

    Go has both ordinary failure values and panic, which guarantees that programmers will eventually use one where the other belongs.

  44. Cache Lines Beat Clever Loops

    I translated a matrix filter from C to Go and then spent an afternoon optimizing arithmetic that was not the main cost.

  45. I ported the non-visual half of a Qt utility to Go and immediately missed signals and slots.

  46. I had several sorted result files and wanted one sorted stream without loading everything into memory.

  47. One Thread, Two Threads

    I ran two independent CPU loops in goroutines and expected my dual-core machine to halve the time.

  48. Counting Bits Like the Kernel

    Kernel code contains algorithms that look unnecessarily peculiar until the constraints are visible.

  49. The Slice Is Not the Array

    Coming from C, I first read a Go slice as a pointer with nicer indexing.

  50. Reflection With the Lights On

    I wanted a diagnostic printer for configuration structures and reached for reflection.