|
As we wrote before our new Garbage Collector is designed for amazing speed and never locks, this worked really well for most cases but we started running into weird crashes that took us deep into the seemingly simple GC code and exposed a flaw in our “no locking” approach. It seems that our assumption that we can just mark all the static objects was flawed since a thread might mutate the static (global) object while the GC is ru..
|
|
Level design for days" has been my motto for several months now, and this week is no different. Behold, new challenge levels! These are timed, bite-sized maps with simple goals that can be completed in under a minute. They're the kind of things you can create in the level editor and share on Steam. I need to find a new texture for that garish green material. Lots of other things are happening, but they're more like a million ti..
|
|
Creating a community is no easy task. When LayerVault founders Kelly Sutton and Allan Grinshtein saw engineers were edging out designers in other communities…
|
|
It is common for agile teams to adopt a number of ceremonies, and usually they are chosen by team members.The purpose of each ceremony is specific and I shall now explore Retrospectives and the role of the facilitator in this kind of meeting.
|
|
Imagine yourself as a taxi driver, waiting at the front of a taxi rank for your next fare to who knows where. You've been in the business a long time and the city's streets feel like old friends. All of a sudden your rear passenger door opens and a new customer starts to climb into the back seat. The passenger starts with a question, "how much is it to the airport?" Your response is almost automatic these days, "about a hundred, give or tak..
|
|
At Thoughtworks, most of our projects begin with an inception where all the stakeholders in the project get together to analyse and start the discovery phase of the project. It’s usually done in order to develop a shared understanding about the project. There’s no working software to speak of, but we get a clear sense of why we want to build something.
|
|
Deploying lighttpd, your flask-apps, gunicorn and supervisor with Ansible on CentOS
-
www.zufallsheld.de
-
11 years ago
-
eng
Deploying your first Python-app can be tedious if you want to do everything by yourself. There are many great tutorials that help you set up all the necessary programs you’ll need to host your webapp. And trust me, it’s not easy: You’ll have to use a webserver that proxies the requests from your browser to a WSGI server . This in turn handles the communication with your app. You’ll also have to serve the static media like images, w....
|
If you frequently send out mass email news letters and keep getting users replying to all recipients, or need to
|
|
Dear jar capacity validator, I’m sorry I ever doubted you. I thought you were killing my snails, but really it’s my lack of you that caused the problem. I am the one guilty of virtual snailslaughter.
|
|
After collecting some photovoltaic data using PikoPy and a some readings from the residential meter it was time to put everything together. The data is collected by a couple of scripts triggered by a cronjob every five minutes. $ crontab -l */5 * * * * python /home/solarpi/kostal_piko.py */5 * * * * python /home/solarpi/collect_meter.py */15 * * * * python /home/solarpi/collect_weather.py The results are then written into a SQLite database..
|
|
Are Your Cache-Control Directives Doing What They Are Supposed to Do?
-
techblog.thescore.com
-
11 years ago
-
eng
pHTTP offers very powerful support for a href=http://tools.ietf.org/html/rfc2616#section-13caching/a:/p blockquote pThe goal of caching in HTTP/1.1 is to eliminate the need to send requests in many cases, and to eliminate the need to send full responses in many other cases. The former reduces the number of network round-trips required for many operations; we use an quot;expirationquot; mechanism for this purpose (see section 13.2). The latt....
|
|
When designers and developers work together from the start, it produces better outcomes. But how can we get designers involved and wanting to participate in the open source community from the start?
|
|
To mark Ada Lovelace Day, Thoughtworks offices around the globe came together to celebrate women’s goals and accomplishments in Science, Technology, Engineering, and Math (STEM). We had events spanning from Dallas to Chicago to London and more! Here at Thoughtworks San Francisco, we brought together a diverse group of women to tell us their stories on how and why they chose a career in STEM. First, who is Ada Lovelace?
|
|
Learning a single-variable polynomial, or the power of adaptive queries
-
www.jeremykun.com
-
11 years ago
-
eng
Problem: Alice chooses a secret polynomial $ p(x)$ with nonnegative integer coefficients. Bob wants to discover this polynomial by querying Alice for the value of $ p(x)$ for some integer $ x$ of Bob’s choice. What is the minimal number of queries Bob needs to determine $ p(x)$ exactly? Solution: Two queries. The first is $ p(1)$, and if we call $ N = p(1) + 1$, then the second query is $ p(N)$.
|
|
Learning a single-variable polynomial, or the power of adaptive queries
-
www.jeremykun.com
-
11 years ago
-
eng
Problem: Alice chooses a secret polynomial $ p(x)$ with nonnegative integer coefficients. Bob wants to discover this polynomial by querying Alice for the value of $ p(x)$ for some integer $ x$ of Bob’s choice. What is the minimal number of queries Bob needs to determine $ p(x)$ exactly? Solution: Two queries. The first is $ p(1)$, and if we call $ N = p(1) + 1$, then the second query is $ p(N)$.
|
|
Learning a single-variable polynomial, or the power of adaptive queries
-
www.jeremykun.com
-
11 years ago
-
eng
Problem: Alice chooses a secret polynomial $ p(x)$ with nonnegative integer coefficients. Bob wants to discover this polynomial by querying Alice for the value of $ p(x)$ for some integer $ x$ of Bob’s choice. What is the minimal number of queries Bob needs to determine $ p(x)$ exactly? Solution: Two queries. The first is $ p(1)$, and if we call $ N = p(1) + 1$, then the second query is $ p(N)$.
|
|
Robert C.Martin, of Clean Code fame, has something to say on the role of we programmers in today’s society. We rule the world. We don’t quite understand this yet. More importantly, the world doesn’t quite understand it yet. Our civilization doesn’t quite realize how dependent it has become on software — on us. He goes as far as suggesting a programmer’s code of conduct of sorts. Food for thought I guess, although I suspect we’re to..
|
|
Have you ever written JUnit tests extending a class that does some before and after work, so you didn’t have to repeat that code in various test classes?
|
|
Robert C.Martin, of Clean Code fame, has something to say on the role of we programmers in today’s society. We rule the world. We don’t quite understand this yet. More importantly, the world doesn’t quite understand it yet. Our civilization doesn’t quite realize how dependent it has become on software — on us. He goes as far as suggesting a programmer’s code of conduct of sorts. Food for thought I guess, although I suspect we’re to..
|
|
Service companies often find it hard to instill product thinking in teams. People working on software applications believe that they are only on a temporary project - that could range from a few months to a year. When it’s done, they can move on to other projects. The application is seldom treated as a 'product', that needs to live in production for many years after the project is completed.
|
|
The D programming language has quickly become our language of choice on the Data Science team for any task that requires efficiency, and is now the keystone language for our critical infrastructure. Why? Because D has a lot to offer. A Brief Introduction One of the clearest advantages of using D compared to other typical data science workflows is that it compiles down into machine code. Without an interpreter or virtual machine layer,....
|
|
The SoundCloud API will be dropping support for Extensible Markup Language (XML) responses. XML will be phased out on the following schedule…
|
|
In the inaugural part of the series, I have covered ListFragments and it’s single advantage while having full control over the fragment and it’s layout. It will reduce the pain of managing or showing the progress, because ListFragment does it automatically for you
|
|
Over the weekend I spoke at the Embergarten Saturday Symposium , which was an awesome mini conference on Ember in Toronto. My topic was “Ember at 10ft”, and it was about how to build a TV friendly interface in Ember.js. The talk was recorded but not yet posted, however I’ve already posted the source code on github. The github repo contains my slides from the talk as well as speaking notes. I’ve also put up an online demo . Check it ..
|
|
The SoundCloud API will be dropping support for Extensible Markup Language (XML) responses. XML will be phased out on the following schedule…
|
|
In the inaugural part of the series, I have covered ListFragments and it’s single advantage while having full control over the fragment and it’s layout. It will reduce the pain of managing or showing the progress, because ListFragment does it automatically for you
|
|
Do you know what makes you want to go to work, even when the work’s not great? Do you know what keeps you strong when all tests are failing and people constantly ask you what’s going wrong? Well, I didn’t. At least not consciously. But life as a consultant teaches us many things about people, their interactions with team members and how decisions are made and implemented.
|
|
Pair programming has a lot of known benefits, but is it always the easiest way to get work done? Is your team on the verge of adopting pair programming? In this post, I want to talk about my experience with pair programming and suggest an activity that will help improve the benefits and reduce the risks when applying this technique. The Benefits:
|
|
Mobile is rapidly taking over desktop as a channel to reach customers. In fact, according to Mary Meekers’ 2014 Internet trends, Internet traffic from mobile devices is up from 14% in May 2013 to 25% globally in May 2014. That's significant year-on-year growth. Businesses all around the globe are adapting to include a compelling mobile experience for customers as part of their digital strategy.
|
|
Python-like generator functions, implemented as a library: Generator functions implemented as a library This is possible through two simple tricks: The language represents stack frames as objects on the heap. There’s a native function for grabbing the current stack frame. Turns out replacing the calling stack frame is really the only thing you need in order to implement coroutines and generics. The implementation is only 23 lin..
|
|
Python-like generator functions, implemented as a library: Generator functions implemented as a library This is possible through two simple tricks: The language represents stack frames as objects on the heap. There’s a native function for grabbing the current stack frame. Turns out replacing the calling stack frame is really the only thing you need in order to implement coroutines and generics. The implementation is only 23 lin..
|
|
Python-like generator functions, implemented as a library: Generator functions implemented as a library This is possible through two simple tricks: The language represents stack frames as objects on the heap. There’s a native function for grabbing the current stack frame. Turns out replacing the calling stack frame is really the only thing you need in order to implement coroutines and generics. The implementation is only 23 lin..
|
|
I’ve talked with many end users about their badly written apps grievances and I’ve come to the conclusion that it isn’t a matter of native vs. cross platform or even HTML. It’s a frustration issue, driven by unintuitive apps (hidden gestures etc.) and slow performance. The slow performance bit is the most misunderstood, there is a “feeling” of sluggishness that people complain about but when users complain about performance it’s usual..
|
|
What Does “Free as in Speech” or “Free as in Beer” Really Mean?
-
justingarrison.com
-
11 years ago
-
eng
In the open source community you’ll often hear the phrase “free as in speech” or “free as in beer” in
|
|
I survived 7DFPS , barely. Here are some fascinating statistics: Days to create an FPS: 7 Hours spent: 93 Levels built: 5 Lines of code written: 2313 Hours to spare before deadline: 2 Functioning brain cells remaining: approximately 4 I'm happy with the result, though. Jack did a great job on the audio as usual, although at the last minute I had to throw in some clunky placeholder sfxr sounds. Blame me for those! Maybe we'll replac..
|