|
As I tweaked some last bits of code and added a few comments here and there, I realized I was getting excited. This project I had been working on for the last few days was almost done. I was happy about the code I had written and started prepping for a code review. My co-workers had been asking how it's going and wanted to give me feedback, so I pushed and deployed my changes to a staging server. What immediately followed was a humbling exp..
|
|
I had the opportunity to visit the class of one of my legendary former professors yesterday and got to share a classic story about him...the time he gave us an impossible assignment.
|
|
I feel almost guilty when I post non game or tech-related posts to this blog because I know the majority of people who come here tend to do so for the game/Impact/JS posts. However, this is a personal site and I do more than sit at a keyboard all day, so posts about running, Sweden, travel, etc are going to happen. Running and exercise is probably the category that’ll be popping up the most (after games) over the next few months as Stockhol..
|
|
In case you upgrade your CentOS 6.x box to version 6.4, the shorewall service might complain. With a scary message: ERROR: Your kernel/iptables do not include state match support. No version of Shorewall will run on this system This is selinux at work, and the problem can easily be solved by running: # restorecon -Rv /sbin Thanks shorewall-users and Happy hacking, James You can hire James and his team at m9rx..
|
|
In case you upgrade your CentOS 6.x box to version 6.4, the shorewall service might complain. With a scary message: ERROR: Your kernel/iptables do not include state match support. No version of Shorewall will run on this system This is selinux at work, and the problem can easily be solved by running: # restorecon -Rv /sbin Thanks shorewall-users and Happy hacking, James You can hire James and his team at m9rx..
|
|
Late last year, six women crowded in to a Mitte cafe booth and listened to Berlin Geekettes founder Jess Erickson share her idea: Berlin’s first all-women hackathon. With SoundCloud’s Amelie Anglade the then newly-appointed the Berlin Geekettes Tech Ambassador, we agreed that it was a great idea to produce the hackathon as a partnership between the Geekettes and the women developers of SoundCloud. Fast forward to the first weekend of March..
|
|
Late last year, six women crowded in to a Mitte cafe booth and listened to Berlin Geekettes founder Jess Erickson share her idea: Berlin’s first all-women hackathon. With SoundCloud’s Amelie Anglade the then newly-appointed the Berlin Geekettes Tech Ambassador, we agreed that it was a great idea to produce the hackathon as a partnership between the Geekettes and the women developers of SoundCloud. Fast forward to the first weekend of March..
|
|
After my [Enhance your Python](http://blog.nobugware.com/post/2011/08/16 /enhance-your-python) post, which is my Python bible reference, I wanted the same for Golang: Effective Go, write effective Go Go by examples, simple but useful examples in Go The Go memory model, Goroutines lock or not ? Things I Wish Someone Had Told Me About Go Go Object Oriented Design The sources for the standard packages are gold mine for best practices Race dete..
|
|
As I’m working with smaller and more agile projects, I’m increasingly seeing the classic way that Scrum is executed as more of an impediment to agility than a helper. This is especially the case when it comes to the classic Sprint Planning as described in [the Scrum Guide](http://www.scrum.org/Portals/0/Documents/Scrum Guides/Scrum_Guide.pdf): “For example, two-week Sprints have four-hour Sprint Planning Meetings” In the Sprint Planning Mee..
|
|
For a list of all the posts on Category Theory, see the Main Content page. It is time for us to formally define what a category is, to see a wealth of examples. In our next post we’ll see how the definitions laid out here translate to programming constructs. As we’ve said in our soft motivational post on categories, the point of category theory is to organize mathematical structures across various disciplines into a unified language.
|
|
For a list of all the posts on Category Theory, see the Main Content page. It is time for us to formally define what a category is, to see a wealth of examples. In our next post we’ll see how the definitions laid out here translate to programming constructs. As we’ve said in our soft motivational post on categories, the point of category theory is to organize mathematical structures across various disciplines into a unified language.
|
|
For a list of all the posts on Category Theory, see the Main Content page. It is time for us to formally define what a category is, to see a wealth of examples. In our next post we’ll see how the definitions laid out here translate to programming constructs. As we’ve said in our soft motivational post on categories, the point of category theory is to organize mathematical structures across various disciplines into a unified language.
|
|
Cerner places a high value on talent development programs offering students the experience to build practical and tangible skills for the modern work environment. As part of this focus, Cerner supports FIRST Robotics, a competition providing experience in software engineering, where students learn to deal with complexity, time constraints, quality, and technical communications. Sound familiar? I wish they had this program when I was a kid! ..
|
|
This is my little how-to on installing and configuring Wordpress on Arch Linux with nginx+php-fpm. It is by no means the best way to do it or even complete, but it helped me get my blog out in minutes. Assuming your already installed MySQL(or MariaDB), nginx via pacman and php-fpm from the AUR . First configure php-fpm. [www] # The user nginx and php-fpm does run under. user = nginx group = nginx # listen on a sock-file instead o....
|
|
If any of you have been following me on Twitter over the weekend you may have seen my epic battle with node.js, MongoDB, socket.IO, Expess, and ImpactJS. It was like one of those jelly wrestling matches you see with drunk people fighting in kiddie pools, except instead it was me wearing pajama pants and a hoodie against a gang of five web technologies/libraries opening a can of whoop-ass on me.
|
|
Back when John Siracusa published Annoyance-Driven Development in the tail-end of February, and amidst the discussion that ensued , I felt that I had nothing to add to the conversation and thus had no need to link to the piece. I still feel that way, but the idea that annoyance could affect change in the world — whether in the form of the development of a particular technology or, as in the case of this article, the advent of a blog ..
|
|
It's always a good idea to be as consistent as possible when you're writing code. So when you're using settings from a configuration file it…
|
|
Context managers are a way of allocating and releasing some sort of resource exactly where you need it. The simplest example is file access: with file("/tmp/foo", "w") as foo: print >> foo, “Hello!” This is essentially equivalent to: foo = file("/tmp/foo", "w") try: print >> foo, “Hello!” finally: foo.close() Locks are another example. Given: import threading lock = threading.Loc....
|
|
Context managers are a way of allocating and releasing some sort of resource exactly where you need it. The simplest example is file access: with file("/tmp/foo", "w") as foo: print >> foo, “Hello!” This is essentially equivalent to: foo = file("/tmp/foo", "w") try: print >> foo, “Hello!” finally: foo.close() Locks are another example. Given: import threading lock = threading.Loc....
|
|
Context managers are a way of allocating and releasing some sort of resource exactly where you need it. The simplest example is file access: with file("/tmp/foo", "w") as foo: print >> foo, “Hello!” This is essentially equivalent to: foo = file("/tmp/foo", "w") try: print >> foo, “Hello!” finally: foo.close() Locks are another example. Given: import threading lock = threading.Loc....
|
|
Every time I post an article, I shamelessly submit it to Hacker News in the hopes that it will get picked up and generate a significant amount of attention and traffic to my site. Somewhere in the back of my mind, every time I submit something I wrote to Hacker News I think, “Maybe this is the one, the article that will go viral, and tomorrow I’ll see John Gruber post about it and hear Dan and Haddie talk about it on The Frequency. Maybe.....
|
|
In a Merlin Mann, Inbox Zero-esq fashion, I do my best to carefully limit the number of things allowed to compete for my attention. Although I regularly fall far short of this goal in most areas of my life, I do a relatively good job when it comes to the news I read and the writers I follow on the internet. While one could certainly make the argument against Hacker News as a news source with any rhyme or reason, that single exception aside ....
|
|
For me, the real ‘zero’ in Inbox Zero is more about consciously managing the amount of our attention that we commit (or, far more often, cede) to thinking and worrying about what may or may not be piling up while we’re away doing the real work of our lives. Which is to say: the Real Work that’s not, in this instance, about fiddling with email or drearily suffering the daily fusillade of random requests and information bombs that get lobbed ..
|
|
Most technical problems are like games. All of them have a way to win and all of them have rules; the easiest way to ensure you always win is to learn the rules inside and out, and more importantly what the rules don’t cover! Paying attention to what the rules don’t cover is what leads to out of the box thinking. What sets the great players apart from the rest is learning what the rules don’t cover which allows for creativity and, sometimes..
|
|
Python has become notorious for being somewhat problematic when it comes to concurrency. The language supports threads, but performance is known to be dismal in some cases. In particular, as David Beazley discovered , when I/O-bound and CPU-bound threads run in the same program, the GIL performs very badly (worse than if you ran the tasks one after the other on a single thread/CPU). Alternative approaches which have become popular are to u....
|
|
Python has become notorious for being somewhat problematic when it comes to concurrency. The language supports threads, but performance is known to be dismal in some cases. In particular, as David Beazley discovered , when I/O-bound and CPU-bound threads run in the same program, the GIL performs very badly (worse than if you ran the tasks one after the other on a single thread/CPU). Alternative approaches which have become popular are to u....
|
|
Python has become notorious for being somewhat problematic when it comes to concurrency. The language supports threads, but performance is known to be dismal in some cases. In particular, as David Beazley discovered , when I/O-bound and CPU-bound threads run in the same program, the GIL performs very badly (worse than if you ran the tasks one after the other on a single thread/CPU). Alternative approaches which have become popular are to u....
|
|
Just over two years ago, Heroku was acquired. I was around and peripheral to this just before the acquisition and came on board only barely after. While there is a large group of people that have been there longer than I have (several for 4+ years) I’m still commonly asked how things have changed, how things work, and other questions of that nature. I wrote about some of these processes over a year ago in the months after joining Heroku aro....
|
|
Just over two years ago, Heroku was acquired. I was around and peripheral to this just before the acquisition and came on board only barely after. While there is a large group of people that have been there longer than I have (several for 4+ years) I’m still commonly asked how things have changed, how things work, and other questions of that nature. I wrote about some of these processes over a year ago in the months after joining Heroku aro....
|
|
My last post about the speed of Django’s templating language caused a bit of a stir and it was clear that people didn’t really have a clue how long the templates were taking to render in their applications. Enter Template-timings Template-timings is a panel for Django-debug-toolbar (which everyone s...
|
|
My last post about the speed of Django’s templating language caused a bit of a stir and it was clear that people didn’t really have a clue how long the templates were taking to render in their applications. Enter Template-timings Template-timings is a panel for Django-debug-toolbar (which everyone s...
|
|
Android and the Fiber business and even Facebook fit into this analogy rather well. In this context more rainfall means more people using the Internet. If you have more people you’ll have more rivers and you’ll have more water and hopefully more fish. Fiber means the water will flow more rapidly: you’re essentially dredging the riverbed.” Some wonder why Google still pushes Android despite failing to make a significant profit from it, esp..
|
|
In almost any application it’s common to want to aggregate some set of values together, commonly in a comma separated form. Most developers do this by running a query to get much of the raw data, looping over the data and pushing it into a set, appending each new value to the appropriate key. Hopefully, it’s not a surprise that there’s a much better way to do this with PostgreSQL. Postgres has a flexible and robust array datatype that c....
|
|
In almost any application it’s common to want to aggregate some set of values together, commonly in a comma separated form. Most developers do this by running a query to get much of the raw data, looping over the data and pushing it into a set, appending each new value to the appropriate key. Hopefully, it’s not a surprise that there’s a much better way to do this with PostgreSQL. Postgres has a flexible and robust array datatype that c....
|
|
During some contracting I was doing recently there was a requirement to implement some search logic using only PHP. There are no issues with that but it turns out I couldn’t find a decent extract generator handy as usually one would just plug into the search engines provided version to do this. Off the top of my head I could only think of one example I was aware of which lives in Sphider (for the record it lives in searchfuncs.php from ..
|
|
The first area I tend to think about when it comes to developer marketing is around advocates. A simple definition of an advocate is someone that speaks/writes in favor of some thing . Creating advocates is a means of creating more of myself to go out and talk loudly and ideally effectively. However, they do take time to cultivate and it is a hard item to track. But by cultivating advocates I’m able to scale what would otherwise be a bot....
|
|
The first area I tend to think about when it comes to developer marketing is around advocates. A simple definition of an advocate is someone that speaks/writes in favor of some thing . Creating advocates is a means of creating more of myself to go out and talk loudly and ideally effectively. However, they do take time to cultivate and it is a hard item to track. But by cultivating advocates I’m able to scale what would otherwise be a bot....
|
|
Perhaps primarily due to the prominence of monads in the Haskell programming language, programmers are often curious about category theory. Proponents of Haskell and other functional languages can put category-theoretic concepts on a pedestal or in a mexican restaurant, and their benefits can seem as mysterious as they are magical. For instance, the most common use of a monad in Haskell is to simulate the mutation of immutable data. Others ..
|
|
Perhaps primarily due to the prominence of monads in the Haskell programming language, programmers are often curious about category theory. Proponents of Haskell and other functional languages can put category-theoretic concepts on a pedestal or in a mexican restaurant, and their benefits can seem as mysterious as they are magical. For instance, the most common use of a monad in Haskell is to simulate the mutation of immutable data. Others ..
|
|
Perhaps primarily due to the prominence of monads in the Haskell programming language, programmers are often curious about category theory. Proponents of Haskell and other functional languages can put category-theoretic concepts on a pedestal or in a mexican restaurant, and their benefits can seem as mysterious as they are magical. For instance, the most common use of a monad in Haskell is to simulate the mutation of immutable data. Others ..
|
|
The endpoint has traditionally accepted an parameter for ordering results by either creation date or ‘hotness’. The method for calculating…
|
|
I’ve been working full time on my Android workstation for over a month now, and it is time to write an update about it. How has it worked out? What I’ve been doing I would love to tell stories of working from parks and cafes, like Mark O’Connor has on his iPad setup , but unfortunately we had a backlash of winter here in Berlin and the warm spring weather only came back this week. Instead — quite atypically — I’ve been mostly desk-....
|