• Is it possible to 3D print mirrors for a telescope? Wondering how advanced and accurate this technology has become. Also not having access to PopSci or similar. Speaking of mirrors, we have relatively little sunshine these days and I remembered that one technique photographers use to improve the quality of their photos in such cases is to place mirrors on the side which reflect light to the main subject. What if I made my main subject a plant and used one/more mirrors to reflect sunshine back to it to try stimulating its growth? Could this even work, is it stupid or just cost-stupid? Perhaps the mirrors can adjust according to the sun rays' angle of inclination (computer vision), the soil composiition could be optimized (data analysis), a sensor could signal when uninvited guests have arrived (e.g. spiders drinking spare water from the saucer), an IoT system can control the amount and frequency of water drops for less variance, a 3D plant model could mark in green which parts are ready to be cropped. Must smell like basil.
• You could place a generic bed into your bedroom, at least until your backbone starts to hurt bit.ly/2zSvbZx
• Suppose that in exchange for an increase of a membership fee with 90$, you earn a one-time right to buy an item 100$ cheaper (having other choices as well). If you buy exactly this item, you have "saved" 10$or at least you might think so. Now you get the additional information that this is said to be one of the most deeply discounted items you could buy. Would this make you happy, inform you to cancel your membership in the future or motivate you to buy a lot more slightly discounted items (some of which you may not need) in order to compensate for your membership fee? An interesting dilemma, but possibly slightly less so on the selling side. • The openness of countries is also an important topic itself and one good thing about open data is that it can foster/encourage it. Again, by choosing to visit, you agree to support the typical practices there. And if you hear how "discredited people must be bankrupted", this statement could quickly make you rethink whether to touch this ground. You don't want to be welcomed at a place where someone could be actively working in the background to eliminate the inconvenient. This is not open. • "Open" may not be truly open the way you define it, similarly to how organic food may not be sugar-free despite the fact that someone wants to convince you that it is healthy. You have to check the labels/terms of use to understand whether they are consistent with your expectations. And if they aren't, you have the choice to avoid the open participation and resource usage. Remember that if you use a resource, you become automatically a supporter of the practices behind it. Of all open data sites, I found only 3-4 whose terms of use I found problematic and didn't consider open enough. If possible, when you work with open data, always try to read the small letters to avoid any surprises later. • Being tolerant doesn't mean accepting incompetence as a story of intolerance. Once someone tries to defend their work this way, the saddle point of the trust function has been reached and the tendency has become clear. • A woman said she visied 119 countries, having a goal to visit all 174 (if I remember correctly). I also like traveling, but never allow it to determine my life. For me it is always bound with very concrete goals. I tend to evaluate the project, the people, the skills to be used and the reward. And I rarely wander around wasting time. She spoke about personal growth and how important connections/friendships truly are; to me connections matter much less and only when. If you aren't mindful who you speak with, you end up knowing too many people, which then start calling, inviting you to go out, make you look after their kids etc. Each additional contact takes you time until you are left with none. What kind of life is that? Always keeping the minimum number of connections. • "Anerkennung drückt sich nicht nur in Worten aus." bit.ly/2zH3ZwJ Genauso ist es. All the companies I left and the people I stopped speaking with have forgotten or were unwilling to hear about the importance of this point. Quite possible that they are still looking for people. • Made myself a little reminder yesterday after trying two apps, which I didn't like. The first app consistently used 1.3% CPU and 3% memory while doing nothing except polling and the second had a non-intuitive interface, where I couldn't find the option I was looking for. The code I wrote only shows a popup window and allows me to hit the close button, then waiting on the next event. Good that it was possible to run it in the background without the need to keep a console window open. Resource usage was so low that it wasn't even registering on the first screen of top. Then after moving away for a while and coming back to turn off the machine and go to bed, I saw a big window "Turn off the boiler". Seems that good things happen when you least expect them. So now I had to go back and do the "manual" work of pushing a button, but even this can sometimes be better than doing nothing. • Didn't watch the game of the games. Also avoiding people who associate with concrete teams or try to impose their results in front of me. • Ratio between median value of million dollar homes to median value of homes for some US cities bit.ly/2uCj1Or. Surprised to see Houston at the top of what could be considered home inequality. San Jose, which has the highest median values, appears last, which means that according to the article, it must be a place where the most expensive homes of the rich look most similar to the homes of ordinary people. Or at least, this is my interpretation. • Happy not having to discuss my decisions with too many people. Went to see how the Python mailing list looks like and this was my first thought. • Amost no screen time today. At midday I spent some time observing the life of the refrigerator and more specifically how often it chooses to breathe and for how long. Noticed that when it was calm, usage was 0W. Opening the refrigerator section led to 13.5W, while opening the camera section led to no difference (yet there is no light inside). In active mode, it started from 97W and very gradually came down to 80W, keeping this level for a relatively long time. Immediately after plugging it in, it used 500W, but only for a brief time. Then at the afternoon washed some clothes, cleaned the kitchen from some pests, which were conquering the oats and the rice (unfortunately had to check everything else to figure this out). Then received a "gift" in the form of wild blueberries, 4.5kg, which traveled approximately 400km, to be cleaned from any impurities and put in bags, facing the inside of the camera. Then noticed some slack at the small terrace, where a couple of containers stayed empty and it bugged me that I had soil, but no seeds. Went for seeds (25 min walk), took rosemary and watercress (strangely the store offered almost no choice this time) and planted them in the evening, dealing with moist soil and the cleaning of fine particles. Tired and falling asleep now. Tomorrow (today) (hopefully) I will have some more time to read/write code. • I was excited about open data at the beginning (which I think was also visible here), learning a lot in a very short time thanks to your effort and hard work. But then this excitement gradually started to disappear: most websites seemed to be updated only very infrequently if at all. Or they contained old data that was no longer relevant. Or they used platforms overloaded with content, where finding valuable one was possible, but took a disproportionate amount of time and required deep concentration. Also, some of the more interesting datasets are incredibly rich (size in the gigabytes range), so it takes a lot of time to download them, load them and glance through a good amount of the data in order to understand it, understand what type of questions it could answer, how valuable they could be and how these answers can be woven into something meaningful. Takes a lot of work, thinking, tinkering and dealing with edge cases where the availabiilty of values is optional. This raises the possibility of making mistakes and having a viewer question the accuracy of the results. Sometimes also due to the fact that the data is incomplete by default and there is not much we can do about this, when we were fully separated from the way it was collected. All this leaves one dissatisfied; despite all attempts to prevent mistakes, it is always possible that an error will sneak somewhere. At the same time I remembered how someone said that people don't like paying for news in general, which is constantly proven on a daily basis. Perhaps this type of content isn't interesting or at least my way of presenting it wasn't. I am also consistently questioning whether my contribution is great enough, given that the majority of the effort has been in the data collection/labeling phase. This led me to believe that perhaps I am doing something wrong here, by attempting to let my curiosity walk into these "foreign homes", which it will never be able to truly comprehend and which are better left as beautiful as they are. The feeling of understanding could be nothing more than a fallacy. For this reason, in the future I will try to work much less with data, especially open data. If the right circumstances present themselves, I will still stay open to any possibilities. • If you believe that you simply "need" a website, you might be right. But history has shown that being unable to define what makes your site unique can quickly make it indistinguishable from the hundreds of other similar alternatives once they are available. Then the apparent need suddenly becomes a liability—you continue to pay for years to programmers and designers, for domain and hosting, for social media account management, for supporting systems/processes and so on, but you rarely see the return on that, because all your competitors look like you, do and sound the same. Then you enter a physical store and tell yourself—great, they sell a lot of products here and make a good profit, so perhaps I could replicate this success online! And you tell yourself that you "need" an online store as it will help you sell more, become independent and chase your dreams at scale. Now the problem is that hundreds of other stores have started to open and yours is once again somehow lost in the noise. But you are young and still believe to have plenty of options. Then you tell youself that cryptocurrencies will make you rich and that you "need" to be active in this area as well, so you go and buy yourself expensive hardware and hope that this way you will be able to multiply your money while sitting in front of the TV, crunching popcorn. But after a while everyone starts thinking this way and they all invest in the same hardware with a similar intention. Now the system gets busier and more sluggish, and it starts to return much less to each participant on average. This can't be real, you think. What could be the reason that "need" was never enough? Lack of sufficient starting capital, lack of differentiation, concept quality, lack of long-term strategy/vision, inability to execute or something else? It could be many factors that in their whole have led to this result. Yet, Jim Rohn had a shocking lesson for us all: "You are paid relative to the value you bring to the market." That is. This value, more than anything else, is determined by uniqueness. If you are connecting people and are the only company called Facebook, you become incredibly valuable. If you are the only producer of Coca-Cola and most people enjoy your beverages, you are certainly quite valuable. If you are the biggest bookstore and your success can't be repeated, you have become incredibly valuable. By providing something noone else can. So the question is not what we need, but how unique is what we can provide. Whenever a client starts a conversation around their need, ask yourself whether their work is truly unique and justifies help on your side; otherwise you might be wasting your time on a "me-too" project. • Whether something is significant or not, depends only on you making it significant. • The effect of a good and quick payment can be overshadowed by having to work with a client that is quite slow to respond or not sure about the direction of the project, leading to frequently changing requirements. This way the person implementing the project must stay idle most of the time, do waste work or seek to guess the intention of the client, which can easily lead to project failure. If within the same timeframe three other clients can be served and the collective revenue would slightly exceed the one connected with this single client, then serving this person is perhaps not a good idea. And it is much better to diversify the sources of revenue. Possibly explains why good/quick payments aren't everything. • When I type a destination quickly and it appears letter by letter, what does this mean? Are you tracking each of my keystrokes (without returning any results), making Ajax requests to a database every 10ms or sharing my information with advertisers in real-time? • Big, heavy, slow systems. Responsible for flight checking if only you were patient enough. Understandable that users who spent 2-3 mins waiting for the offers to appear will be terrified by the possibility of losing their "binding" session. By seeing less options per unit of time, they are effectively nudged to accept the more expensive ones. Whether this is acceptable, only the travelers can decide. • Are you doing more with less or less with more? • Tracking the resource usage of a process of interest bit.ly/2mekFBR • Two German economics professors: "Salaries in Germany are too low because of the very high productivity and salaries elsewhere in Europe are too high because of the very low productivity." Neither, nor. Both are more likely explained by the willingness to exploit and the inability to do so. Which has much less to do with productivity than one might think. Sad to see "high-profile" people traveling across Europe to explain the rest how inferior they are. Doesn't matter: after the Brexit we'll check again how prevalent arrogance continues to be and it could be interesting to see whether people will connect it once again with the need for further exits. Because if they do, nationality and position may play a much smaller role than one might think. • Visualization of the last actions on directory files bit.ly/2usSFOJ. May be useful on rare occassions when it is unclear what happened within a directory; visualization can help to find outliers. • Simple disk usage feedback bit.ly/2mcwicA. Here 1KB has 1024 (and not 1000) bytes. • That 300MW of installed solar capacity is sufficient to power approximately 210000 homes tells me that the average US household uses ≈4.0-4.8x more electricity than a directly observable one. Hard to imagine how many (smart) devices/appliances such a home has. • Someone could pay regularly slightly more than usual to prevent a disease or they could avoid the payments and health checks, letting the disease progress to a point where it becomes very hard to heal it and where each subsequent treatment/intervention costs 100x the initial amount. It would be easy to claim that they didn't have a choice, but fact is, they were responsible even for their inaction. When someone refuses to seek help on time and suddenly appears and expects everything to be fixed by a magic wand, in a short time and within a tight budget, their expectations may have become unrealistic. And even with the best intention in mind, a person may be reluctant to help due to the risk of not meeting these expectations, being worried about the impact of an unhappy customer on their future practice. A similar dilemma seems to exist in software too—many companies try to implement their projects very cheaply by cutting all kinds of costs and then start wondering why this has become quite expensive. • Have you noticed how the creators of some libraries try to trick you into believing that they created something incredibly complex and deep? By having a project full of directories with hundreds of files, each having up to 3 lines of code... It is easy to imagine how impressed a reviewer would be by looking at this, especially when they don't take the time to see what a nonsense the whole is. • Took off some small leaves from the basil to practice my findings about drying. Looked which were extraneous or interfered with others and removed them (as in code). Some water, sunshine, only 1.5 days after snipping and a dangerous fall from height did not prevent the plant from restoring its original, beautiful crown. Will see whether the mint likes more sun as well, but it could have been damaged by cutting some of the main stems from a low point. Once I saw this... please ensure that you don't cut too much and that the plant has a chance to restore itself and bring you joy longer. If in doubt, remember what the anteater did. • "In Hong Kong they don't eat bread... and everyone looks so beautiful.", said a store owner while speaking with someone else. Somehow implies that someone must be rich in order to behave intelligently—something to disagree with. As I saw yesterday, having the convenient/pleasant options taken away from you may actually unconsciously improve your options. The example given was people in USA consuming lots of meat and other junk food (suffering many heart attacks) and people in some African countries relying mainly on plant-based food (and registering almost no cases). But if you said that by default all Americans choose wisely and all Africans cannot possibly have any good choice, you would be wrong twice in a single sentence. • It is not you who will determine how much I get paid, but you have the option to bid against that and see whether your project will be accepted or rejected. Usually I avoid working a second time with people who previously rejected me (common) or who I previously rejected (common)—out of fear having negative sentiment affect the quality of future work. • Many companies hire 1000+ people and then start believing that the cost of hiring one additional person should converge towards zero. And many people who enter later for some reason agree to buy into this well-knit lie. And if they don't have self-respect, that makes it so much easier for the rest to "postpone" theirs and manipulate them easily. You could try to promote the idea that work should be free in front of me to see how far you could come, but you will have to fear speaking for the last time, either as a member of a big group of people or as a CEO of a company. I also seek someone to do my work for free. • Many years later learning about a new shortcut: Ctrl + Del (without Alt) to delete words after the cursor. I always used Ctrl + Backspace to do the same for words appearing before it. As they say, everything comes in pairs. • In the ingredient tables I often see mono-, di- and tri- of something, but with chemicals I rarely know when less or more is better. Sufficient reason to stay away from the ones the body didn't produce itself. • Which recipe among five could best satisfy our own taste? One way to think about this could be in terms of calories received or total satisfaction. Depending on what we are interested in, we can assign an index from 0 to 100 (for better accuracy). Then we could assign costs for all "materials and resources" allowing us to make the final dish. If 50g olives, 200g cheese and 250g salad have to be used (among many others), we could multiply each of these values with the price of the products and sum the totals at the end. But to this amount we also have to add the cost of the resources used: you probably agree that baking for 20mins at 150℃ and for 2hours at 200℃ are different things. Or using the large hob for 30min at degree level 2 is different from using the small hob for 10mins at degree level 3. How many kitchen devices will be utilized in the preparation and for how long? How many plates/bowls needed for intermediate steps will have to be cleaned later? What percentage of the total preparation time requires manual work and what does this cost us relative to our hourly wage? Once we have this clarity and add the resource cost to the materials cost, we could use normalized satisfaction index / normalized total cost as a metric to rank the recipes. Not a perfect example, but adjustments are possible anytime. Glad that it fits in a bit. • Land yield comparison bit.ly/2m8SPqG • Parks in Bristol, UK bit.ly/2m8juUQ • "But if the cost of your survival exceeds potential taxpayer savings, your life is deprioritized" bit.ly/2m7FFKR. Also: "High-tech tools that perfect human rights and strenghten human capacity are more difficult to build than those that do not". • Global Innovation Magazine seems an interesting one, but the fact that it is available only on Issuu and not as PDF makes it very hard to read. I need to load ads every couple of page turns, the fullscreen mode allows the ad to take the bottom of the screen, the interface feels bulky and non-responsive (it takes ≈10s to turn a page and 3s to zoom on the right section). Do you know of other innovation magazines that are interesting, but less popular? • One article mentioned the problem with the lack of truck drivers and identified two possible reasons to be low payments and overtime. Knowing very little about trucks or driving, I tried to jot down what else could be causing this situation bit.ly/2zhOrzi. Didn't even come to algorithmic inefficiency of road selection, improper task allocation sequences or competition pushing the less effiective businesses out of the market. • Watched a very small part of some cycling race in France today (usually staying away from TV). Noticed how getting water and food during the race can be distracting. Then wondered whether a 500g reduction in the weight of an already lightweight bike, if this would cost 1000-2000$ more, is money well spent compared to exchanging a sloppy 400g shoe for a 100g one at a cost of 200-300$. The pictures convinced me that it is not only the bike that contributes to the weight, but also the helmet, the shoe, the equipment, even the cyclist himself. Yet, I suppose that exclusively focusing on weight reduction would actually reduce performance. • It is not only important to learn, but also to observe how we are learning and to choose carefully what we learn. If we improve fast, but at a very high price, we may end with a good amount of debt making our subsequent learning very hard or impossible. Would learning this improve our situation tomorrow or would it be a waste of time and resources? • Decided to take a look at the design of some metro/bus timetables available on the web. The ones I have seen so far were not great; almost every plan had at least one or more aspects that could have been improved. Some were so disorganized that I couldn't tell immediately what I was looking at. Some integrated the assumptions how people might want to look at the data into complex, hard-to-follow drawings. Some had poor contrast (grey background with a thin font), some asked for start and end point via an online interface, where there was no way to select a station if you didn't know or couldn't remember its name. Also no hints were shown on typing; when a map was available, an improper zoom level allowed for very rough/imprecise target setting. Some timetables wasted a lot of whitespace or showed hard-to-read vertical labels. Some crammed too much content close together so that individual times became hard to separate. Some plans were not print-friendly, others which were had 40-50 pages of content for a single route. One of the plans I liked most came from MVV (Munich), although the interface used to arrive at the printed materials was slightly dated and not always intuitive. I also noticed that bigger cities had slightly more polished plans compared to smaller ones, but opportunities for improvement are everywhere. • Finding Energy Star washing machines with desirable properties bit.ly/2m3WTbS • Cities by number of business hotels having five stars (Source: Five Star Alliance website) bit.ly/2ueDcl5. Forbes has also written a more detailed article on the topic bit.ly/2lZVjYl • Street lamps by their wattage in Melbourne bit.ly/2uduaVM (Source: City of Melbourne, "Feature Lighting", bit.ly/2uf6jVx). The lamp with the max wattage is 500W, while the total power consumption of all 4090 street lights with known wattage is 213033W. The median came at only 35W, while the average is slightly over 52W. • Looking at the streets with the currently fastest average speed in South Dublin bit.ly/2m0bZPu (Source: South Dublin City Council, bit.ly/2zl1rEa) • You may like at least one of these Häagen-Dazs icecream flavor combinations bit.ly/2m5AhrD • Learned that the anteater digs the anthill carefully without destroying it, then pushes its 60cm long sticky tongue inside many times per minute, but takes only ≈140 ants, after which it moves to the next anthill. This is to ensure that on the next return, this place still has enough ants to feed it. Did not expect this animal to be so clever. • Positioning the figures for the next chess game may seem a bit tedious, but few lines of code offer some help bit.ly/2m1WcQl. You could also rewrite the second line as flank + main + list(reversed(flank)), saving one function call. • Datahub published a GeoJSON file with the contours of many countries, which you may find useful in your own work. Here you can see the contours of Germany as an example bit.ly/2lXPL0x • Initially, I was very frustrated to see functions with twelve parameters, when my mind refused to accept so much information at once. Then came datasets with fifty and more features, large matrices and algorithms operating on them in non-obvious ways. Whenever I wanted to print and see what happens with a matrix, the output quickly filled my screen, so I had to learn to be more selective. Recently I saw a datasheet of a microcontroller having 176 pins (some of these are reserved for output as well) bit.ly/2m0BSyN, which reminded me that complexity is subjective. This chip probably holds many different functionalities together, but we know nothing about how efficiently they cooperate and whether in our particular case we truly need all of them (we pay the full cost). When something is too complex, it is easy to hide/mask inefficiencies/imperfections or explain design decisions as tradeoffs. Even when abstractions are powerful and ease our thinking, I still think that we should strive more towards simplicity at the conceptual stage—eliminating the needless and avoiding the tendency to pick fail-safe/tried-and-tested defaults. • Once a mere-mortal sees this, can they do something useful with it, make it practical, visible, real, memorable? Or as long as it is sufficiently abstract and intricate there is no reason to bother about that? Are we working for others or for ourselves? The market size of the last is one and it's a lonely place to be. • Happiness levels in various countries seen from above (2015-2017) bit.ly/2zgaR3T. Not surprising why more people from Africa are taking the risky path to Europe. We see a pronounced happiness "staircase" in that direction. It is expected that a world boosting a high degree of inequality will at some point have to deal with its own creation. Saying this as an European. • "More than 90% of the world's population live in areas with levels of air pollution that exceed WHO guidelines" and "Research suggests that plastic waste in the world's water is finding its way into humans. People eating seafood could be ingesting up to 11000 pieces of microplastic every year. Microplastics are found in 83% of the world's tap water." - "The Global Risks Report 2018" by the World Economic Forum • Top 20 solar system installers by installed capacity (in kW) in the NREL Open PV project database bit.ly/2lYh0rW. Happy that this time the machine didn't fail me although it was fully unresponsive for around 10 mins. If the data is correct and current, SolarCity has installed ≈1.193TW, which relative to the 16.523TW announced on the project's main page means that 7.2% of the total installed capacity belong to this company. Sunpower, the next company on the list has 3.7 times less installed capacity than SolarCity, which is not a small difference. Made this primarily to learn about more companies in the sector. Initially, I saw "Self" at the end of the list and had some doubts about it, but after searching for "Self Solar" on the web, they quickly dispersed. The cities with the most installed solar capacity include Roseville, San Diego, Phoenix, Tucson, Bakersfield, San Jose, Fresno, Los Angeles, Las Vegas, Lancaster, Indianapolis (in that order). • Beautiful street carpets bit.ly/2u9hCyF • Virtue tracking card bit.ly/2u6oMn5. Be aware that it won't store your data. • Frequently having to remind myself that direct clicks sometimes come at a penalty. For instance, reading PDFs in the browser is something I dislike (especially on scroll). But when I click on a link to a PDF document, it is downloaded and opened in the browser, after which I have to click the download arrow, which sometimes starts another download of the same document before it finally appears on the disk. Much easier and faster: right click on PDF link, "save link as...", save. Download happens only once. • Collecting parking occupancy data very frequently (say every 5 mins) may not be such a good idea. The frequency has to be adjusted at least in some way to the planned lifetime of the project. For instance, if it was initiated 5 years ago, then we can estimate the number of collected data points per parking to be (5 years * 12 months * 30 days * 24 hours * 60 mins) / 5 mins = 518400. If the city has many car parks using this system, this could create an amount of information very hard to analyze later. Moreover, the changes between the points may seem so small that we start questioning their significance. We could also ask ourselves how critical it is to have always absolutely accurate information, adjusting the velocity of the stream accordingly. Tracking a car park may be less critical than tracking the processes in a nuclear power plant or in a high-frequency trading system. • Comparison of two Gaussian distributions bit.ly/2lVKsPj • Characteristics of some fuel-economical SUV car models according to AutoBild bit.ly/2lUMeAk. Takes in account displacement (cc), power (HP), weight (kg), acceleration (0-100, s), top speed (km/h), fuel (diesel/super), original price (euro), test date, test consumption (l/100km) and shows the rank each car was given. Looks like the algorithm placed the only cars using super instead of diesel close together (8 and 10). For some reason it believes that 21 has more distinctive characteristics compared with the rest and we see that this is a quite powerful car. But that we see 5 not too far from 18 comes slightly surprising. • Merck product sales for 2017 bit.ly/2lQVoO1. In the top five of the best-selling products appear two for diabetes treatment and two vaccines. You can also see AstraZeneca's product sales for 2017 bit.ly/2lPqdme. At the top appear two respiratory and three cardiovascular/metabolic products. In both diagrams, only concrete products with known sales have been shown. Whenever products were considered in a group having a single sales value, they were not shown. • Health care facilities in San Francisco, California bit.ly/2z8KwV5 (via DataSF). Most general acute care hospitals seem to be located at the north of the city. There are also two interesting clusters, but there was a minor inconvenience while trying to find out more about them bit.ly/2lS1fCT. My desired behavior would have been to have the numbers stick to the points as in the original picture without having to adjust the code. • Some upcoming events in Florence, Italy bit.ly/2u1hT6M. Reading about Leonardo da Vinci and Michelangelo made me want to learn more about the city and create this page. You can also see a sample path to visit the 15 top-rated tourist attractions in this city bit.ly/2lTAQ7G. • The nutrition table on the oats package tells me that 100g resemble only 7% of the recommended daily energy dose (kcal). Someone who doesn't see what is written below, might assume that they need to consume 1428g of oats throughout the day to come to the 100% of energy. But if they covered this need in this way, they would have an oversaturation with microelements as only 250g of oats cover 100% of the needs for calcium, magnesium, zinc and some others. Meaning that by trying to weigh on a single parameter we would be (very) wrong surprisingly often. • Do you think there could be something like a "work album"? A reflection of common style typical for a limited time period of the life of its creator. What if a portfolio isn't a consistent style throughout an entire life, but a collection of many work albums (something to which we return often)? Where does one end and another one start? Which pieces fit together and why? Whenever I look at websites presenting portfolios, the answers to these questions often remain unclear to me. That's strange, because my own work has probably been "periodic" in one form or another. A possible reason why perfectly polished portfolios don't look natural to me. But they seem to be of the type people enjoy most. • Initially, I liked having straight edges in graphs. Simple to construct, beautiful, existence of force-directed layouts, visible intersections, available metrics like betweenness / closeness / eigenvector centrality, counting of cliques / connected components. But then, at least it appeared to me, the real world is less than linear. To go from A to B, someone may need to travel around, depending on which road is currently under construction. This trajectory can take any shape, which a straight edge cannot capture well. We may assume that just because there is a theoretical connection, a real one exists too, but an obstacle on the way may prevent the driver from moving towards the destination and force it to return to the last, known to be good location (A). On a graph we can only increase the weight to communicate that the cost of passing through the edge has increased (or remove the edge altogether), but we need to have prior knowledge about that where in reality someone needs to have been in the situation that asked for the change in the model, which is then eventually communicated after the fact and once again has temporal nature. Our world is not certain, but the certainty of the straight line is somehow embedded; to add more realism to the path, we would need significantly more detail (think how many point coordinates you would need to describe a long, winding Bezier curve), which is expensive to obtain, maintain and compute with. So we fall back to the straight edges with questionable weights. • The countless algorithms with fancy names do not change the fact that classification and regression remain only two. And it is not very surprising that when we find new data and attempt to hammer it with these two nails only, we leave out a lot of potential insight undiscovered (opinion). • "People are good at generalizing newly acquired knowledge". As long as the assumptions are clearly communicated, this may be a lesser problem than staying absolutely silent due to the risk of potential errors or a flawed logic. (Not everyone may agree with this.) If you believed that floats are extremely accurate, machine learning always 100% correct, all algorithms exact (never approximate), Bayesian networks always perfectly capable of quantifying uncertainty, mathematical modeling always precise in describing real-world phenomena or all papers ever written had no mistakes, you are in it for a surprise. The fact that we continue to use all these tools and resources despite their limitations tells us something. Therefore, please do not hesitate to commicate clearly (even your generalizations), but be highly selective and remain open for feedback. • Budgets are also frequently cited in large, bulk numbers, which normal people have a hard time to comprehend. Much easier to speak in front of others when noone understands you rather than make the effort to explain what this budget means to a concrete person. There is also an increased risk of conflict if these people see an element of injustice that applies specifically to them. • "Hundreds of trillions" is a strangely incomprehensible phrase to find in two separate, independent articles. The one describing the possible number of bacteria in the gut and the other the possible number of neurons in the brain. (Unfortunately, I haven't kept the references.) Whether there could be a connection between the two is hard to say, but I remember creating a graphic trying to hint about that. Back then I didn't suspect that the numerics might also agree, at least superficially; this could simply be my own confirmation bias. But the common theme is that at such scale even supercomputers are said to have a hard time. Sufficient reason to keep a secret from the DOM. • Someone created a great interactive tube map of London bit.ly/2lPh1OM, showing the stations by historical daily entries and exits. Much better than my own attempt from a while ago. • Locations of the bottle banks in Berlin bit.ly/2z6rxuw • I don't like watching films, but do you think some of these could be interesting? bit.ly/2z6mKco • NO2 measurements (air quality) at three locations (out of five) in Bath, UK (08.07.2014 - 02.07.2018) bit.ly/2lNURwg (Source: "Bath: Hacked", "Historical Air Quality Sensor Data", bit.ly/2z4gbXZ). Wanted to include more locations and criteria, but almost half of the parameters had missing values. • When you see this function bit.ly/2zc8Tl9, do you think in terms of two lines of code? • "I have not failed. I've just found 10000 ways that don't work" - Thomas Edison • Still "affected" by Keith Devlin's blog post on using math to improve the design of a bicycle, which I saw yesterday. The Wikipedia page he pointed to was highly informative as well. I think this touched in a great way on the possibilities of mathematical modeling. It is exciting to be able to see more such real-world applications. Examples of deep thinking, complex system representations, testing from first principle and writing of custom software with the goal of optimization. If someone can point me to more resources like this, I'd be grateful. • The sunny exponential sum seems to work fine bit.ly/2lNrdHm • Who knows, it is probably even possible to combine computer science with medicine and statistics bit.ly/2z1ioU6. Can you think of something concrete when you see such combinations for the first time and would it work if implemented? Can a combination of subjects describe the way you see your work? • As seen on HackerNews, Microsoft released new data on building footprints in all US states bit.ly/2tVsWyh (scroll down to see it). In the past, I also looked at some building footprints in some cities (find the links if interested), yet never at such scale. Ran "top" to see how fast the decoding of the big JSON file will deplete my machine's resources and as expected saw that this won't work. But sharing the link here means that hopefully someone else will be able to do what I couldn't and structure a meaningful and valuable article around their findings. • Superfoodly has published Oxygen Radical Absorbance Capacity (ORAC) values of some foods (as of 16.01.2018), so I looked to see whether I can discover something interesting bit.ly/2yUZvCf. As you can see in this partial view, three different spices had dramatically higher values when dried compared to when they were in fresh condition. This is new to me, usually assuming that fresh food is always better. Also, canola oil was given with slightly higher value than extra virgin olive oil. But even so I noticed that the maximal value in the oils category was at approximately the same level as a mid value in the olives category. This means that by processing the olives into oil, potentially useful ingredients may be lost (or so the logic of a non-professional). For nuts, pecans had the highest ORAC value, but I never saw one. I looked specifically for the more common nut types and their top-down order—walnuts, hazelnuts, pistachios, almonds, peanuts, cashews. Similarly, never saw an Indian Gooseberry (Amla Berry) which has a very high value. But for some other common berry types, the order was chokeberries, elderberries, wild blueberries, cranberries, mulberries, blackberries, red raspberries, blueberries, goji berries, strawberries. Of the seeds, cumin and black chia seeds made good impression (the latter having a 5.14x lower value). • Common environmental noise levels according to the Central for Hearing and Communication bit.ly/2z2S1Ng. A crying baby is said to be equivalent to someone shouting in your ear or having a disco at home. Notice how the tractor and the electric drill must also give up against it. Sadly, normal conversation appears almost at the bottom of the list, meaning that many other noise types in the environment can easily silence it. • Libraries in Raleigh, North Carolina bit.ly/2tR2wO8 • Max power vs. module efficiency (STC) for LG and Jinko solar panels bit.ly/2lKxtQv. The LG solar panels seem more differentiated, whereas Jinko Solar offers many panels from different series with very similar max power and efficiency characteristics. Sometimes this difference can be as small as 5W of max power. Currently we see that both companies achieve maximal efficiencies with panels whose max power is not the highest, but falls in the mid range, which is interesting. When we also account for the panel width and height, but leave out depth, then the Eagle PERC 48 series from Jinko Solar looks most promising. The model JKM240M-48 with dimensions 132.4cm x 99.2cm weighs only 14.8kg and has 240W max power at 18.27% efficiency. If we also account for depth (total volume), then the Eagle Dual 60 series starts to look interesting. The model JKM285PP-60-DV has a thickness of only 6mm (many oher panels have 40mm) and reaches 285W max power at 17.33% efficiency. Unfortunately, this comparison is incomplete as long as the products of many other companies are left out, but it highlights how we could use all existing data to support our decisions. • Calm nesting levels are much easier to follow than overly excited ones. The second can be seen as a less obvious form of a bad code smell. Possibly worth mentioning. • Always wanted to know about my brain mass index bit.ly/2tMesjW • Glad that I was able to come up with so many and diverse ideas and implement them in reasonable time. Thousands of small pieces of functionality. If you wish to have something a lot bigger, specifically made for you, according to your requirements, it will be hard to avoid the big price tag. Working with dummerAugust has never been cheap. • Simple dot product of two patterns bit.ly/2ySDrYS • Learning from the annual reports of the airport in Sydney bit.ly/2yR0q6q. Looking the one for the year 2017 will also expose you to some beautiful design. My only problem is that for some reason I cannot stand thick, bold fonts for too long and frequently struggle to find a good balance where I have to use a bold font. Perhaps this is why font families exist, but they may not always be available to the designer. • Historical performance of some indicators of NXP semiconductor (2013 - 2017) bit.ly/2lE6FkH. The source of the data are the annual reports provided by the company. • Couldn't learn much from the Samsung's annual report. Looked specifically for performance breakdown by sector, but I might have missed it. However, they mentioned three devices which I didn't know about: a small 850g laptop (NP900X3L), a big 27" monitor with 36% lower energy consumption (LS27E65UDS) and a large 15.36TB SAS SSD on 48-layer 256GB V-NAND. I need to read less. • Revenue and market capitalization of some semiconductor companies (as of 03.01.2018) bit.ly/2lGzPQ0 • Walt Disney segment revenue and operating income (2015 - 2017) bit.ly/2lIgvBX • Some litmus strips for a quick proof how far some websites have deviated from the 8s rule (for some it's a 1s rule) bit.ly/2yPTNkQ. These results were obtained on latest Chrome—imagine what would happen with an old browser. Seems that many companies have gone too far by being indifferent to the amount of content they post and the scripts they load. Speed has either lost its priority number or they want to convince us that they can't afford to find and hire at least one great web designer. When bad practices are rewarded, but good ones aren't, this leads to some measurable consequences. • if you want me to work on your project, consider using the contact page and meeting the standards described there. They haven't changed much since dummerAugust started, but if you assumed that the page is already old, simply because of not being recently updated, you would be wrong. The basics always remain the same. • A look at the hotels in Toronto listed on booking.com bit.ly/2tJEG6C • Net sales by sector for DowDuPont (2015 - 2017) bit.ly/2lDkwHO • Net sales by sector for Procter & Gamble, 2017 bit.ly/2lB9enJ • First time seeing the interesting idea of using vertical wind turbines to capture car-innduced wind. Not sure how useful it can be on congested roads, with speed restrictions or with no easy connections to a grid. Not a driver myself, but I find that having something spin consistently at the front can possibly be mentally exhausting. • With some simple code and CSS/multi-column layout I shrinked all the food additives listed on Wikipedia (see E numbers) to a two-page document bit.ly/2tF5rJE. Green means this additive is approved in at least one place, red that it has been banned (or is in the process) in at least one place. Interesting reference to refer to before the next Exxx appears in sight. • Ariel, Persil, Tide or Perwoll? Why? Any chance that poorly rinsed cloth contains enough chemicals to affect our health? • Numeric look at Cadbury sweet products bit.ly/2yI1h9z • Libraries in Long Beach, California bit.ly/2lvoSku. Twelve in less than 20kB. • Slightly surprised to see how much bigger "Gates of the Arctic" is compared to the other US national parks bit.ly/2yGgCra • "More than 96% of the citizens in Hong Kong use mobile phones to access the Internet every day." In some other countries it is either too expensive to have a good mobile phone, too expensive to pay the monthly bill, or too expensive to have Internet on-the-go. This three-level "system" has been conveniently designed to maximize the number of people going into debt. • Cell radius in cellular communication systems (log scale) bit.ly/2lBbEm1. Starting to understand why some telecom operators are complaining about their infrasrtructure costs. • Range and current consumption of some wireless technologies as seen in a paper bit.ly/2tBILtE • A student estimated through mathematical modeling the efficiency of a water irrigation system and used this to find the cost of water overuse in local terms for a local project that was using many sprinklers. • Building energy benchmark, Washington DC: Source EUIs bit.ly/2lvqIle (Source: dc.gov, bit.ly/2tCV9Ka). Relatively few buildings differ from the common values by a large margin. • Hardware seems to be much simpler to sell than software, which might be a good reason why 34 of the top 100 most innovative companies were in this sector compared to only 6 in software (Clarivate Analytics report, 2017). It is much simpler to show a physical product that can be touched and felt rather than try to explain to an audience what your software does, how it can be used, which advantages it has or why it is needed. With software, there is always some degree of misunderstanding about what is included in the price or for how long, the expectation being that it covers the maintenance as well. And clients often think they know what good software looks like, believing that it is the new, trendy, highly starred or recommended product (none of these). When they come with the wrong expectations, they stimulate the good programmers to leave the profession, showing no appreciation of their work. Observe how many new gadgets were created in the last year compared to how many software products became widely known and used in the same period. One question arose in my mind the other day while walking: "In a tight economy, where everyone has to work most of the time, who is going to be able to sit down and spend time at login screens? Who will actually use that software and for how many minutes?" Remember that when some software companies thrived at first, there was frequently an "immersive user experience" element about their creations: people could sit down and spend hours of their time looking at a screen of streaming content, opportunities to contribute and get noticed. But this also means that in a world where many do not have the time, the stable base of the existing software may start to erode and new software may not be able to gain sufficient support to thrive. Hopefully, an assumption. But this possibly further strengthens the hardware industry. Devices which fully integrate into our lives tend to be more visible and memorable. They will be there even without an internet connection, without electricity, without an on-screen interface. And if this trend continues, programmers will have to be increasingly occupied with them and deal with this new looming variety rather than with the concrete, device-unrelated problems of other human beings. The question whether we need so much new hardware is not too different from whether we need so many new frameworks or even programming languages. • The publication ITRI Today, No.93 mentions that microLED displays can have more than 2000ppi resolution, more than 20000 nits brightness, low power dissipation and no backlight source. Compared to usual LCD/OLED TV screens, this could save 90% of the energy consumption. One such display was demonstrated at Computex 2018. In other words, sleep well and find yourself progressively obsolete. • Vienna's air quality sensors show very low median PM25 and PM25.1 values today: 2.79 and 3.53. It's a weekend day, but I doubt that this is the only factor. • Parking place utilization in Nottingham, UK bit.ly/2yAU62U. Tried to scale the map according to the view in Google Maps; you likely know better whether this looks well. But in all cases, it can be considered approximate. • Good to see that according to the operating budget data for 2018, the City of Toronto is planning to have a well-balanced budget bit.ly/2lvziR6. You can see the planned revenues and expenses by category, where results having a zero were excluded from the view. Reminding myself that a balanced budget is perhaps more helpful than a pure focus on higher revenue or expense suppression. • Parking place utilization of UParks in Adelaide, Australia bit.ly/2tuydfV (Source: City of Adelaide, "UPark Car Parks - Available Spaces", bit.ly/2ltaQQo). Could be slightly slower than usual. Shows only the available spaces. • Plotting the telecommunication network in Lille, France bit.ly/2yvKKVZ (Source: "Réseaux de télécommunication", bit.ly/2lu9wfP) • Thought about trying to find electronic components with some favorable property within the sea of existing options. For instance, voltage regulators with low quiescent current. Not sure whether someone would be interested in this, but a circuit designer might be. (An electronic designer claimed in a post that the designers were not designing anymore, but simply joining parts together. I thought that this is perhaps not a unique observation, but one that could easily transfer to web design as well.) Unfortunately, Mouser does not make it very simple to parse the characteristics of the components on sale. They use divs for tabular data, where the div of each row contains a class whose name ends with a number indicating the index of that row. But if we look across several components, we will see that sometimes some rows are missing, which means that selecting by the same index could possibly lead to inconsistent results. I was hoping to have more universal and non-ambiguous means of selection; thinking of regular expressions does not calm me down. • Selected traffic camera images from Surrey, Canada (21.06.2018) bit.ly/2yyMIFa (Source: City of Surrey Traffic Operations Department, bit.ly/2lqMRBq). Much better to look through the "eyes" of a city during the day. The number of available cameras is over 200, which is why only some are shown here. The page is static; refresh it to see other views. • Historical pavement condition index (PCI) of various streets in San Francisco (via DataSF) bit.ly/2lqH0fm. Between 2010 and 2011 the quality of many street segments seems to have visibly improved, but between 2012 and 2017 most streets were said to have a PCI index in the range 75-85. The last year also marks significant improvements of some street segments. We see that few which previously had an index of ≈25 quickly rose to 100. Such sharp improvement seems unique when we observe the entire period after 2000. • t-SNE on the scores from the "Academic ranking of world universities" bit.ly/2lpPO4W (Source: bit.ly/2tsqSgK). Only the first 100 universities are shown. Please, see the original source to understand the arrangement. • Used the Australian Energy Update 2017 report to create this stacked bar chart of the total energy consumption by industry in this country bit.ly/2tvJRHB. Renewable energy production is increasing, but what surprised me was to learn that Tesla has completed the largest Li-Ion battery in South Australia (Hornsdale Power Reserve). • A short video showing past public art in Tacoma, WA (28.7MB) bit.ly/2yoTJsj (Source: Office of Arts & Cultural Vitality, "Tacoma Public Art Tour", bit.ly/2ytKkj6). There are 191 images (few unavailable) with a total size of 4.6MB. One reason the video became so big could be the large screen area recorded. As you can see, scrolling was not very smooth. • Slowly developing interest in mathematical modeling lately (reducing my code output accordingly). Code frequently contains math models too, but they are too intransparent and known only to the developer who implemented the idea in several lines of code, combining individual letter-variables, whose meaning only they know. But it's exactly this meaning that is interesting, as it allows us to see how the parameters are related (as a very simplified example, consider period and frequency) in the model. Reading letters only all day long is anything but creatively stimulating and I feel that it harms my ability to think clearly. (It also did so when I started programming.) In a known mathematical model we can at least use our intuition and judgement to identify why the elements are connected in a particular way, whether one or more unknown ones are missing or whether there are too many. And it is especially enriching to look at models from a variety of fields, describing a variety of situations, environments, complex systems, decisions and assumptions. Pure code cannot capture the essence of this thinking (sometimes filling entire papers and books), it simply gives it another, machine-understandable representation. By reading only the code we are often observing the effect, while the actual cause may remain hidden to us. • Non-negative matrix factorization of the data describing the pedestrian footfall in Dublin city centre (25-34 week, 2014) bit.ly/2ypSMQj. Intuitively, if a point is far from the most dense point cloud(s), then it must be the most dissimilar to them. Points at the upper right corner seem to be such; we see that they correspond to the locations Grafton St at Card Gallery and Grafton St at M&S. Now, if we return and look specifically for these locations in the data, we will see that during peak times in some days they have registered ≈4000 pedestrians in a single hour, which is much more compared to the other locations. Update: The result of scaling the data followed by independent component analysis is also available bit.ly/2tndMS6. • Cost of Li-Ion batteries over time bit.ly/2tieZKl. They expect that the price could still halve until 2025 (after almost halving in the years 2015-2017). In absolute terms, however, it may seem that the pace of innovation is slowing. • Some land parcels in Philadelphia bit.ly/2ylKmJQ (data: City of Philadelphia, Department of Planning and Development, bit.ly/2lfWse3). The map appears slightly distorted since I did not check the proper aspect ratio initially. These are slightly less than 10% of all parcels; doing much more on my machine would be infeasible. However, plotting detail-rich maps made of polygons frequently gives nice results. • Historic annual average daily traffic (AADT) of the busiest street in New York since 1977 bit.ly/2liWG4g according to https://on.ny.gov/2tgyOSr. Only this street meets the criteria of having AADT more than 200000 in all examined years. But its label reads "GEO WASHINGTON between NJ LINE G WASHINGTON BR RT and END 1/9/95I OLAP START 1/95I", which Google does not seem to find. For some reason I have a hidden feeling that it tries to describe the George Washington Bridge, which has its separate Wikipedia page bit.ly/2tiPyZj, containing the gem "... the world's busiest motor vehicle bridge" and describing on the right which areas it connects. I knew about the Brooklyn Bridge, but not about this one. When I saw the picture, my first reaction was that I must be looking at the Los Angeles bridge... • Great websites do not monopolize the CPU and their designers care deeply about the scripts they execute in order to show the buttons on the page. Because if they don't, their competitors will. During the work on the last bit I was slowed down on several occasions, which makes me even happier now that I finished. Still, this could have been faster. Perhaps not every suitcase or backpack needs to have a hover animation showing what is inside once it opens. • Comparing suitcases and backpacks bit.ly/2yn4Di0 • Plotting the Montreal's road network and a close-up bit.ly/2lgeHjK (data: "Service des infrastructures, de la voirie et du transport - Division de la géomatique", "Géobase - réseau routier", bit.ly/2lj1oix). Took an hour on a slow machine despite the optimized code. • Library attendance by branch in Montreal, Canada (01.01.2012 - 31.12.2017) bit.ly/2lgiiyc • Trees in Montreal, Canada bit.ly/2tfrdDA. The given median age is relative to the current date. Had to translate from French and fix dates with Vim. • I usually browse with the soundcard turned off, not just sound level set to zero. A minor detail that makes me avoid something I use rarely and allows me to stay concentrated on my current activity. On the one side, automatically played videos can't reach me, but on the other, voices in videos frequently remain mysterious to me. Which is why normally I hope to see a transcript as an alternative content (like the "alt" in images). • Suggestions how to improve a paper: have a short "meta" description (3 sentences at most in normal font weight, using sufficient margin that would make it stand out from the body); remove the extensive list of names, reference numbers and years at the start of the body (keep a reference at the end); very clearly indicate the problem you are trying to solve (use as much bold but only on as few words as possible) and why solving it is important at all; keep a well-structured exposition; describe your approach in depth without omitting important/relevant details (think about reproducibility); avoid or at least reduce near-duplicate content (e.g. images filtered to a slightly different effect/progress frames); batch content types (or avoid frequent switches between text and images/diagrams); avoid keyword stuffing (also check whether you assume pre-existing knowledge); omit phrases like "In this paper...", "our result is better than..."; reduce unnecessary words; avoid theorems and proofs if possible (but have them at the end for those who are interested); do not extend mathematical reductions over several pages (simplify, simplify); express formulas in words instead of variables where possible; choose a less pretentious word than "conclusion" for your final paragraph where you explan your result and take a moment to evaluate its vitality and fitness for real-world applications; finish with a small thank-you to the people who helped you and the organizations who sponsored your research, if any. Be wary that a bad font or inconsistent letter-spacing can decrease readability; ensure that at common-percentage zoom (e.g. 200%, 250% or 300%) the text fits a small-screen 4:3 frame neither leaving too much white space, nor too little (or negative in case of disappearing text at the start and end of each line). You may disagree on some points or I might have missed some other, important details. • The nature of relationships is that they tend to atrophy over time when some external force does not keep them constantly refreshing. Many people forget this, start taking their connections for granted and then wonder where some people disappeared (possibly attaching some bad labels to them). Noone owes you anything; if you weren't present enough, feel free to live happily with your other connections. Once you are (unexpectedly) removed, consider it permanent. • As they say, "you always get what you pay for". Or not. This does not exactly describe how I work; people who tried to start a project with me in the past know that they can't necessarily expect it. And if for some reason they take my availability for granted, they may find themselves with plenty of options. Better to have slightly more scared clients than ones who approach me as if any behavior should be possible. • Do you think that AI can be part of an elevator so that it learns how to behave based on the time of the day, the past usage patterns and the current combination of requests to move between the floors? So that it anticipates users and stays as close as possible to them? At the very least, do you think that it could it be a good idea, when left idle for a while, to transition it to the center of the height, so that people at the top/bottom floor have to wait half the time for it? Or is this undesirable due to potentially higher maintenance and electricity costs? • Libraries in Madison, Wisconsin bit.ly/2yibY2C. The city becomes narrow in the middle (between the two lakes Monona and Mendota) and it also seems to have lots of trees, where a small street on the "thin area" going to something like a plaza has an above average concentration. • The advantage of a library (like WU) providing the data about its catalogue is that you can type a single line of code and obtain all the results you were interested in (only the signal), in less than a second. If you were to access the data from the web site, you had to load the interface, the supporting libraries (back-end and front-end), the images, the spinner animations, the trackers/ads and the section telling you what else people like you liked in the past. Sometimes even more than that. • Strange how some websites rank and show content based on "relevance". Isn't relevance something that only the visitor can determine according to their needs? • Looked at a boxplot showing 65 variable distributions. • Productivity index per hour worked in various industries in Austria (01.2015 - 02.2018) bit.ly/2l31MRR (Source: Statistik Austria, bit.ly/2sXASOM). Dealing with waste had the highest absolute index value achieved, but there were other industries which were more stable over time, where productivity has remained consistently high (as you can see in the diagram). Notice how big the difference between manufacture of other transport equipment and of wearing apparel seems to be. • Does this hospital minimize the internal paths for the patient? • Straight-line path and intermediate stations of ICE 707 from Berlin to Munich bit.ly/2y6lVzO. Considering distance traveled per time, the short segment between Erlangen and Nürnberg seems to be the slowest on this route, followed by Nürnberg-Donauwörth. • Number of outgoing flights by carrier and destination from Pittsburgh International Airport (Dec 2017 - Apr 2018) bit.ly/2y5Zmve (Source: "Pittsburgh International Airport - Scheduled passenger traffic", bit.ly/2l0FVum). Not quite clean, but at least some destinations for which all five values for all periods were known are visible. American had most flights to Charlotte, Delta to Atlanta, United to Newark and Southwest to Chicago (Midway). • Good to see that the city of Pittsburgh currently values the overall benefits of all its trees at 4.33 million dollar. I was wondering which ones were the highest contributors to this astonishing result and created a small rank with the median values for each tree type bit.ly/2l0P2vc (Source: bit.ly/2l5LS9s). What comes surprising is that within the 30 most appreciated tree types, 8 are different types of oaks and 3 are poplars. Yet, only "Oak: Pin" and "Oak: Northern Red" appear in the top 15 most common trees. The first has 1667 exemplars and is the 8th most comon tree and the second has 973 exemplars and is the 12th most common tree. The city has 45279 trees, 3707 of which are "Maple: Norway" and 3417 are "Maple: Red", defining the landscape accordingly. • Pedestrian and bike counts on the Elliott Bay Trail in Myrtle Edwards Park, Seattle (01.01.2014 - 31.05.2018) bit.ly/2y3qDyd (Source: SDOT, bit.ly/2l1dInh). The seasonal cycling window has opened once again. • Highest source EUIs by building type in Seattle, 2015 bit.ly/2l1lkWQ. The lowest energy requirements had worship facilities and non-refrigerated warehouses (median source EUIs of 59.2 and 60.7); the highest—supermarkets/grocery stores and medical offices (median source EUIs of 608.6 and 225.6). • Daily maximums and weekly medians of bicycle counts at Fremont Bridge in Seattle bit.ly/2l18eJ9 (Source: Seattle Department of Transportation, bit.ly/2sZ11No) • Comparison of water surface degree temperature and pH at two locations in Queensland, Australia bit.ly/2l00neK (Source: Environment and Science, Queensland Government, bit.ly/2sZUW30). The spikes could be due to measurement errors or unusual situations. • This chatbot informed me of train delays in some cities in Switzerland bit.ly/2l04I1H. Zurich and Lausanne had no delays, but I was lucky to find one in Basel. • Theoretical transfer speeds of some wireless standards bit.ly/2l3HbNr. Seems that 802.11n served well for a while. • Some people connect summer with beach time. But bathing without knowing what we expose ourselves to is not a good idea in general. Sometimes, checking the daily beach water quality forecast may not be enough; we could also see historical data about a given beach. This is what the UK environment agency provides, for instance. As you can see bit.ly/2l4O1SB, one of the beaches was in more than 50% of the cases with increased risk level for swimmers. Some beaches had 0% such cases, but they were examined only 15 times, so I decided to exclude them from the data. But there are plenty of other beaches which went through many probes and were in most cases found in normal condition. You can also see a comparison of the water quality of three selected beaches over time bit.ly/2xYZtbV. The most frequent reasons cited for the risk of reduced water quality were heavy rain, animal waste, system tests (possibly involving the water purifiers), oil spills/leakages, dredging, sewage, harmful algae. • Feature importances determining the "product class" (a number) of an air conditioner sold in Australia (from sample data) bit.ly/2y0nsr3. If I understood correctly, EER and COP are ratios related to cooling and heating efficiencies. For instance, Mitsubishi SRK20ZSXA-W had EERtestAvg of 6.4373 and COPtestAvg of 5.9745 (ranked first). From the result we see that in this case physical depth of the air conditioner seemed to be slightly more important than EERtestAvg in determining the product class. Could it be that greater depth improves the performance of the device? Width was the least important from the three dimensions and EER may have been collected inconsistently. • You probably remember how beautiful variable-width lines can be bit.ly/2y8Pnp9 • When most inventors lived (according to Wikipedia) bit.ly/2kXcadU. The years between 1920 and 1930 look interesting. Note that this diagram is mostly about the past and tells nothing about the future. The data may also be incomplete, omitting some notable names. Now, we could go further and develop a graph of the connections among the inventors who lived around 1930 to see how many of them knew each other and how this has influenced their work. • Electricity used in the residential sector in Newfoundland and Labrador, Canada (1990 - 2015) bit.ly/2xZBjxP (Source: "Open data Newfoundland and Labrador") • Locations with highest cumulative amounts from parking tickets in Regina, Canada (03.01.2006 - 05.06.2016) bit.ly/2l0QsG5 (Source: City of Regina, "Parking services – outstanding parking tickets", bit.ly/2xYnvDM). Google thinks that "U of R" means University of Regina. • Annual program attendance and total circulation in Ontario libraries, 2016 bit.ly/2l0gSaH (Source: "Ontario public library statistics", bit.ly/2BUa2gU) • Median household income and median gross rent in Milwaukee, Wisconsin (2008 - 2015) bit.ly/2kW7XXU (Source: Milwaukee Open Data, "Economic data") • Libraries in Tampa, Florida bit.ly/2l0nRAu • Total program attendance by age group at the Memphis Public Library (01.07.2014 - 01.04.2018) bit.ly/2xZNGdq. The number of young entrepreneurs is increasing. • Selected Texas performance indicators bit.ly/2kZydRl. Uses data from the Texas regional economic snapshots. • "All-in" programming does not help much, because once that "all" is changed, you have to start once again at position zero (like when the syntax gets changed). Exactly what happened to me years ago with JavaScript 6+. This was the red light to start becoming much more well-rounded rather than investing all my time in a single technology, always chasing (but being unable to catch) the latest developments. Since then I also follow the "Don't put all your eggs in one basket" rule. And if someone asks me to use specific frameworks, I view this as an extra. • Strange question, but do you believe that working with/on materials (wood, plastics, silicates, concrete) could be connected with higher PM2.5 emissions? • Feature correlation, Toronto economics 2011 bit.ly/2kVHfyC. More businesses looks highly correlated with higher local employment. Higher home prices seems moderately corelated to higher debt risk scores. The same type of diagram, related to transportation bit.ly/2y3BmZQ, shows that the more stops there are, the more road kilometers one might expect. The road kilometers themselves were well correlated (0.78) with increased number of traffic collisions. • Three locations in Toronto linked with high collected parking fines in 2016 bit.ly/2xTwmXv. While looking for their geocoordinates, I didn't expect that a zoom on the map will show some cars parked nearby. Ah, well. The second location registered the highest number of parking tickets (9 x 40 each). • Toronto city wards, said to become effective at 01.12.2018 bit.ly/2sUavJF • Electricity and gas usage at half-hour intervals in 38 schools in Dundee, Scotland (12.03.2016 - 12.03.2018) bit.ly/2xV6xX4 (data: Dundee City Council, bit.ly/2kZkkmg). All values on the y axes are given in kWh, where the value in each thirty-minute bin is the median of all values in all days for that hour. Orange describes the first year of the study while blue—the second. As this is a lot of data, you might question whether it is appropriate to see it all at once. For exploratory reasons, when we look for better understanding first, we may choose to look at the overall pattern (no matter how large) from a distance. This in itself could show an interesting pattern on which we can then narrow down. In our case, we see that 5-6 schools are using the most electricity, approaching a median of 100kW per hour. Similarly, 4-5 schools are using the most gas, approaching a median of 200kW per hour (probably an equivalent). Once we know this, we can filter out schools that appear less interesting and focus on telling an engaging story about the rest. We could look for behaviors by the hour or seek to relate the data to actions that were taken by the time. It is rare to see such logging effort that is broadly inclusive and deeply detailed at the same time. A sufficient reason to give credit to the organizers here. • Street lights in Dundee, Scotland bit.ly/2xS5oiZ (source: Dundee City Council, bit.ly/2xXmjAG). Shows only the lamps with known or easily extractible wattage, where a bigger point size represents higher wattage. Although somewhat hard to see, there are some areas with higher requirements. The total wattage of the lamps shown here is 1.644MW. • Having a subset of many parameters that are repeatedly passed to the same function in a tight loop may not be optimal. If there was a way to define them once outside the loop and then reuse the definition on each function call, this could reduce the communication needs. Learned about rcParams, but in my case I had parameters which had no equivalent key in this dictionary. Which unfortunately brought me back to the inefficient, but at least tried and tested approach. • Motor vehicle accidents in Hartford, Connecticut since 2005 bit.ly/2sSg8rM. This shows the data touched upon in the last bit, the approach having both positives and drawbacks. Using PIL with some manual scaling and custom functions to interpolate between colors (here blue for events far in the past and red for more recent events), it takes less than a minute to draw all points (compared to the previously estimated three hours). The drawback is that the points are fully opaque, so the red ones overlap most of the blue ones. I chose to plot in event date order, which gives most recent events an unfair visual advantage. • Suppose that you saw data on vehicle accidents and had the idea to show their locations using color to encode their recency. Showing all points if they had the same style would require a single function call, which would be almost immediate; showing per-point colors seems to require many function calls, which can sometimes become slow. You run the code, but it never ends. You then look more carefully: there are 88359 events. This does not seem too much, so what could be wrong? You decide to inspect the behavior of your plotting library (Matplotlib or something else) on your machine, resetting a performance counter every time a batch of 1000 points has been plotted, logging the time this took. You plot the number of points processed so far against the time and see the following diagram bit.ly/2kXQL4e. After 39000 points you notice that adding 1000 more took more than 100 seconds, equivalent to less than 10 points/sec. Yet, at that time there are still 48000 points more to plot! You try to estimate the total time instead, using ridge regression on the data you just generated, optimistically assuming preservation of linearity at scale. It tells you that coming from 87000 to 88000 points would take additional 227.48 seconds (4.39 points/sec). At the end you sum all times observed and all times predicted in the whole interval after that, keeping the 1000 increment. You divide by 3600 and come to ≈2.815 hours. Whether the result could be so beautiful as to justify 3 hours spent on it (the show function also takes time), is something everyone has to decide for themselves. At least we saw how slow plotting can be; improving the time it takes, especially at scale, could add significant value. • Some performance indicators of library branches in Boulder, Colorado (01.01.2014 - 01.12.2017) bit.ly/2xSCzTr • Drinking fountains in Vancouver, Canada bit.ly/2kYIPQm. In case it is hot outside and you need some refreshing options. • Libraries in San Antonio, TX bit.ly/2kZSJ4p. Made in a hurry and it shows. • A short path passing through many universities in Germany bit.ly/2sNxGFC. I suspect that some universities are missing, which is why I am not using the word "shortest". The initial idea was to create a minimum spanning tree. • Information about some provinces in Italy bit.ly/2kVCN32. There are over hundred provinces, so I could not capture them all on my small screen while still having their labels visible. Used data from Wikipedia bit.ly/2xM3pfY. • A small fraction of the buildings in Linz, Austria bit.ly/2xQOcKz (Source: CC-BY-3.0: Stadt Linz - data.linz.gv.at). There is also a TIFF file weighting over 320MB in case someone is willing to print the map of Linz. Not sure whether printers would handle an image of such size without problems. • Trees in Grenoble, France bit.ly/2sR5bqG • Food hygiene ratings of some businesses in Camden, UK (02.01.2010 - 31.10.2017) bit.ly/2sNbMlA. The Food Standards Agency has given high marks to most businesses in all four criteria: hygiene score, structural score, confidence in management score and rating value. Taking away the rating score, structural score tends to be highest, followed by the confidence in management score and the hygiene score. Red points indicate high scores, blue points refer to low scores. • Available parking spaces yesterday night in Camden, UK bit.ly/2JgeOu0. Higher availability can be seen in the North, lower in the South. Observe what happens at latitude of 51.53. • Soft drink consumption in the UK (2010 - 2015) bit.ly/2JdJV9i. Good to see more people switching to bottled water instead of carbonates and dilutables (the two top categories by the time). Coca-Cola is probably the most well-known carbonate brand; Step is one of the few dilutables I know about. For some reason, the consumption of fruit juices (said to contain "100% fruit") has slightly declined, while that of energy drinks has increased. The first column shows in absolute terms that people consumed almost twice as much carbonates as bottled water. • Already saw several interactive walkthroughs of buildings that were quite impressive. Thinking about whether the hotel industry wouldn't also benefit from them—by letting people look before they book. My services don't offer such level of interactivity, but I noticed on several occassions a minor, yet annoying detail when the smooth animations finished at a static Youtube video, waiting for a click to proceed. Not only did the Youtube logo appear very different in that context (inside a video about a building), but also the fact that one video was waiting on another. Not natural to a viewer; less smooth transitions between the stories. This decision could have been made to reduce the load time (longer videos are heavier), but the experience becomes a sequence of discrete events rather than continuously smooth. • Seeing formulas defined in natural language instead of one-letter variables or numbers helps me understand them more easily. Now, if I need the variables or the numbers, these are easy to substitute. But in case of one-letter variables, these have to be first used and then defined, so the eye has to scan them twice, which until recently I didn't perceive as a possible inefficiency. • Some companies invest in lots of books, which on the surface might seem great. I also like reading a lot, but sometimes I also think more critically. Such investing may be a good way to "amortize" the high cost of acquiring and spreading the skills necessary to do the job without having to pay each employee for the effort to acquire them themselves. What this achieves is demoralizing the employees and telling them that their effort doesn't matter. Here are your books, now you are aware how little you know, so better stay silent about your salary. This "convincing and conditioning" strategy (others always know more than you) could be, I believe, the major trigger for the decline of most companies in the future. Not AI, robotics, cryptocurrencies or chatbots. Until we learn to live together and start investing in people in the way that is required to see them grow, it is not realistic to believe that the clouds over the global economy will magically dissolve themselves. • A roof made of tiles that are a bigger version of keyboard keys looks creative. The slope is still preserved for good ergonomy. And that tile size likely makes the typing of a giant even easier. Cannot possibly think of the kind of remains to be found between the keys. • Have you seen the "cigarette cards" in the NYPL digital collection? https://on.nypl.org/2sLoRMx. I like the colors and consistency across all the cards showing animals. Reminds me that each collection of stamps I have seen had its own distinct style. • Wondering whether the owners of some carpet stores thought about placing photos online as an alternative of waiting for a client to come in person and spend a lot of time digging in the piles. My guess is that revealing the designs is not an option; otherwise it would be enough to have the them "be" the web design. • A hierarchical sunburst diagram can be made with D3 bit.ly/2sGXIu5 • Food product annotation with the help of some SVG bit.ly/2Hpbvuv • Area of polygon by the shoelace formula bit.ly/2kQSYi7. Good that it seems to eliminate the step of manually subdividing the n-gon into triangular pieces, seeking their individual areas (Heron) and their total sum. • Power against cubic centimers for the vehicles from the New Zealand's fleet for 2018 bit.ly/2sHOhux (source: bit.ly/2Hk7YOc). Had to clean up the data a bit, because many vehicles were given with either zero power or zero cubic centimeters. But it is still mysterious that some vehicles with a power rating of over 700 have a very low cubic centimeter rating (these may be noise). The two most common car models in the fleet are Ford Ranger and Toyota Hilux. After the cleanup, the correlation coefficient between the two features comes at 0.6935. Another not immediately obvious way to relate the features of a car would be to use a parallel coordinates diagram as seen in this case bit.ly/2sJiJEn as long as the number of models is kept reasonable. • Footfall at various locations and times in York, UK (30.03.2009 - 28.05.2018) bit.ly/2JaXh6m. Once again uses data from the Business Intelligence Hub of the City of York Council. Coney Street seems to register a small, gradual decline in the number of people passing by. Unsure whether Parliament Street at M&S and Parliament Street are one and the same thing, especially when the two pictures show signs of being able to be merged. • Room occupancy and average room rate in York, UK (01.04.2010 - 30.11.2017) bit.ly/2JeRixz. Prices seem to have moved up a little at the end of the previous year. The average price for the entire period came at 82.46 £, while in July 2017 a maximum of 115.09 £ was reached. • Monthly container throughput, Singapore bit.ly/2sGXvH4 • Was not aware that vectors with known start, length and angle can be clustered similarly to points (optical flow). • If you also experienced the problem of being unable to export your database schema from MySQLWorkbench (at least on 6.3.6, cannot speak about the latest version), it is perhaps a good idea to try this on the command line with mysqldump. I tend to forget that MySQL isn't limited to a visual, administrative interface. Forgetting about the command line in that case left my databases empty for far too long. Yes, I very much like SQLite and can use that one too, but sometimes I prefer a client-server model instead of having to deal with a physically generated file, which is not that easy to hide. • Still astonished to look at DevTools and see that pages which used to take 400ms per request now take 150ms. In case you are using a platform like the browser, you will perhaps see your code become faster over time without being actively engaged with it. This is fascinating. Only if the quality of my code could improve faster than the quality of the platform... • Sometimes, if you spend five more seconds on proper database design, you can save on some computation time taking the form of if statements. • Starting the week with a simple page dedicated to the idea of reducing the number of unused buildings and machines bit.ly/2sDTQdo. If you find it valuable, feel free to use it. No registration required. • Distance between point and line bit.ly/2sChVB0, hopefully without a mistake. • "Public humiliation is always a demonstration of power" — from the latest issue of the Max Planck research magazine. Very well said, which is why it does not have place in our society. Unfortunately, some people at managing positions still believe they have the right to humiliate/shame others. Not surprising why their companies can't find employees and why the ones who stay, see and silently support this practice quickly lose their connection with the leaving. • Wrote a small script to parse the top Energy Star refrigerators for 2018 and rank them according to a custom criteria bit.ly/2J5mhfp. Contains a lot of text. Notice how models of the same brand often appear close together. • An interesting diagram bit.ly/2Hd5cKz indicating that the smallest PV installation may not be connected with the lowest cost per watt. In this case, we see that 8-10kW systems had significantly lower price than 2-4kW systems (in 2014). Beyond that point, not much gains were to be realized. • Took some families of microcontrollers from Texas Instruments and compared their characteristics min RX current and max throughput bit.ly/2sA6w4G. Found it eye-opening that during data reception one microcontroller was said to use a minimum current of 1.8mA (assuming consistency of measurements), which my guess is, greatly extends the battery life. A maximal throughput of 5Mbps is equivalent to 625 KB/s, but it would have been interesting to see the current at this rate. Always wanted to find time to look deeper into what makes a microcontroller good and eventually look into whether I could program one. Still, the number of available options can seem overwhelming for a beginner, especially without having some way to filter them. Yesterday, I saw an issue of AnalogDialogue where ultra-low power microcontrollers were said to use current in the range of 30-40µA/Mhz and thought about how great this metric (I never heard about) is. • Number of rainy days at the Changi climate station in Singapore (01.1982 - 03.2018) and prediction for June 2018 bit.ly/2H8NQ1r. We'll see by how much this number will deviate from the truth (and then update the model). • Good work costs good amount of money and if a client is unable to recognize this, we will part our ways very soon. • Appropriate air flow in a concrete example bit.ly/2H6X4LL. Please, note that I am not a specialist on the topic, but simply use the information I find and what I observe. • In a freely available report, mass.gov created a diagram describing the opioid-related deaths in Massachusetts (2000 - 2017) bit.ly/2IVClzZ. The increase after 2010 does not seem ordinary. Even with the small decline in 2017, it still comes at 370% relative to 2010. But it's not only this state which is experiencing the problem bit.ly/2H1ifyN. Another report https://on.ny.gov/2sowFU9 shows that opioid-related painkillers are linked to more deaths than heroin, which I found stunning. • "In her (nature's) inventions nothing is lacking and nothing is superfluous." - Leonardo da Vinci. Interesting that this applies to the nature of good programming practices as well. • Transport for London has this application showing the bike stations close to gardens of touristic interest bit.ly/2H0HEZf. What I like is that the points appear with some delay only when the user has spend time looking at the nearby text. This effectively masks the load time by giving alternative content to look at. What I slightly dislike is the delay that occurs after clicking a point—it can take 3-4 seconds to load the name of the station and its current utilization. This is partially understandable due to the large number of points, but improving responsiveness may still be possible. Additionally, showing all stations with the same marker causes the distinct information to be kept at a click distance instead of being more immediate. • If someone uploads a personal photo and images of the clothes in their wardrobe, the algorithm should be able to help them (at least in theory) choose the clothing pieces that would create the best overall styles, ranked. Accounting for body proportions, skin color, eye color, hair style, hair color, accessories, maybe even previously rated images of outfits. Could reduce the time people spend in front of a mirror, in search of the right combination. Or the chance of combining blue shirt with red hat and green glasses. • Beautiful and useful are necessary characteristics of almost any work that has to appear publicly. Something is missing when either of the two is missing. You would probably agree that style transfer is an amazing technique, but it is unclear how useful it is. Simply creating beautiful images, neglecting the fact how and in which contexts they can be used meaningfully marks the end of an otherwise interesting idea. • I like how detailed the data about the restaurants in Nice, France is. Beside name, street address and geocoordinates, there is information about phone and fax, email, website, list of services, list of amenities (public parking, air conditioning, WiFi, animal-friendly, terrace etc.), atmosphere (Jazz, Latino, Lounge etc.), languages (which likely the staff understands), opening hours, capacity (broken down by group, indoor, outdoor and total), number of rooms (if available), supported payment methods. Really helpful to someone willing to invest the time to create a high-utility application. Not only that, but it also sets a very positive example about the possible dimensions existing open data can be further infused with. • Ridge regression (assuming a linear model) on energy intensity data of European countries and some other regions to see how much it deviates from the data given for the world bit.ly/2GXRFGN. Also tried gradient boosting regression, but in this case it comes very close to the straight line. If you wonder to which country the points with a growing trend belong—they refer to the Middle East region. • Do you think there could be some tendency in the way big corporations like Google, Facebook, Amazon and Microsoft choose the locations of their offices? Using data from their websites and some geocoordinates (if correct), we can construct the following diagram representing the current situation bit.ly/2kxkgtC • Realized that I haven't visited the sites of motherboard makers like ASUS and Gigabyte for years. Looked around to compare features of their latest mainboards to learn what is new and newer. What I saw instead made me let go of this idea quickly. The features were hidden behind 1) long descriptions, 2) images and clever marketing messages (Unleash your dreams...), 3) (gaming) optics and plenty of shining lights. Sad to see that they worked hard to leave the impression that the motherboard must be a gaming board. Then remembered why this might be the case. If you heard about the rewards given at some gaming competitions, you would start pulling your hair asking yourself why there aren't such rewards in science. It should then come as no surprise: what the world appreciates most, it gets more from it. Gamers, bitcoin miners and social media experts. • Nutrient composition of four rice grain types as median values across selected EU countries bit.ly/2sjaazN. It seems that the positives I've heard about brown rice are not unfounded. Also tried to create covariance matrices between the features observed in each country bit.ly/2shGNhr, but the results look unlike other covariance matrices I have seen. • If you want me to do something specific for you, this has its price. • Someone said that the mark of a vibrant city is the extent to which its inhabitants perceive the problems as their own and act on them. Here is what people in Dublin report once they notice problems on the streets bit.ly/2kvVJVM. Does not include all submissions, but still gives an overview. • Crime by type in Little Rock for 2017 bit.ly/2sialvv. Didn't expect to see so many cases in such a small city. • A small effect of having a big, always visible, two-level horizontal navigation, followed by a body, at the bottom of which a horizontally spanned ad is shown and another footer below it, is that when looking on a small screen, this site appars as a collection of five patches of approximately equal height. You may need some "guessing time" to tell which patch belongs to the content. • A store locator can start with an "uncalibrated" map, asking the user to drag and zoom around to find markers to click on (a challenge on a small screen). After the click, it may take one second for the spinner to show up and additional 2-3 seconds to retrieve the address of the branch. If someone clicked on three markers, they have spent 10 seconds in waiting. Information should be made conveniently accessible and searchable, not hidden behind popups and clever navigation patterns. • Many map services start by showing a view close to the current location. I wonder how appropriate it is to load the same content every time without even asking the user. I would prefer starting from an empty screen, providing the right input to obtain the right information (also the approach seen on this site). Did this app just made me wait for something I never asked for? • Implementing the Kesteleyn formula in very little code is well possible. That it doesn't give the same result on a sample input as presented by the author who introduced it, is slightly dissatisfying. Whenever you can, check the validity of the claims you encounter. • Are there any products you used recently and were very satisfied with? Which ones? Did they do something differently that you found more engaging? • Coordinates of vehicle stops in Denver which were connected with arrests bit.ly/2kq3AE9 • Libraries in Wellington, New Zealand bit.ly/2seKWCC • "Cities with highest average salaries after taxes for workers" bit.ly/2seBcbw. Based on an article in BusinessInsider. • Learning from Boston's CityScore bit.ly/2IJnadc. The label case and spacing as well as the diagram size aren't perfect here (trade-offs). • Noticed something interesting about the top buildings with the highest 2016 source EUI in San Francisco (lower is better) bit.ly/2koNWsM. The median value for all buildings comes at 119.9, where seven of them exceed an EUI threshold of 1000. • UK house price index for London and its boroughs bit.ly/2kqdeqj • Bicycle hires in London bit.ly/2GOK8d9 (Source: Transport for London bit.ly/2GOhyJ3). The line going down at the end of the third plot indicates that 2018 is still in progress. • You may remember one of my old attempts to build a radar chart with HTML, CSS and JavaScript (for draggable points along the dimensions). This didn't work quite well. Here is another radar chart, this time slightly more "scientific", but non-interactive bit.ly/2saP0nC • Greenhouse gas emissions for 15-50 MPG cars bit.ly/2s71SLi. Used several data bits from the given site to compile this. Since Hyundai Ioniq, Toyota Prius Prime and Tesla model 3 were all said to have MPG >= 130, I wanted to span the curve until there, but the few available data points made it impossible to escape overfitting (at least with common methods). • Metro stations in Melbourne and zoom on the closest five to the centroid bit.ly/2ILzxFu. People near the station "Tooronga" seem to have plenty of metro options. • Many years ago I avoided PDFs since their relative size was heavier than the websites I visited. Today the situation has changed: these documents are now much more lightweight than the average website. Additionally, once downloaded, no additional HTTP requests are needed, no bulky frameworks are downloaded, no hundred clicks are required to move from page to page, no advertisements or popups are shown, no video/audio is started automatically. The only downside is lack of interactivity. But if websites continue to grow in size, it is possible that more people start to ask about their PDF versions. • Levels of NO pollution at four locations in Bristol, UK (25.03.2018 - 24.04.2018) bit.ly/2IFMaC9 (data by Bristol City Council: bit.ly/2kk7Ipf). A boxplot diagram is also available bit.ly/2IIuJAK • Learned a small trick to estimate the number of dimensions needed to capture a given level of variance in the data, so I share the code along with the credits bit.ly/2s7P7QI. On a test image, it tells me that I need only 29 dimensions to capture 95% of the variance or 7 dimensions if I can live with 80%. Somehow reminds me of the need to determine the number of clusters (k) for k-means (see silhouette coefficient). Fairly useful. Also nice is PCA(n_components=0.95). Peviously I assumed that the number of dimensions must be at least one, but was unaware that this parameter in this context can be interpreted as variance too. • The outer product of three vectors is a cube-like tensor bit.ly/2klOfVg • Sometimes I download things to read later, which usually never comes. Turns out that the fall 2013 issue of INNOVATION magazine (by IDSA) had an article on Tesla model S, mentioning some design/engineering decisions. The battery pack was said to be positioned under the floor, while motor and gearbox were between the wheels. Stamped aluminium for the body to reduce weight; a single moving piece (the rotor) to reduce noise (for "studio-quality sound recordings"); suspension progressively lowering the car during acceleration to improve aerodynamics; optional third-row seating; on-screen control for sound/lighting adjustments and efficiency tracking; drag coefficient of 0.24. And the idea that better engineering of each small piece quickly leads to compound results. Good description for someone who never touched the steering wheel. • Simple pattern of squares and circle sectors bit.ly/2s4kRq4. Both use complementary black and white colors. The square size and the radius are adjustable to explore how they relate. • Wrote some code that slightly changed the image of a dahlia bit.ly/2kedMzA • Simple visualization of the dot product of two matrices bit.ly/2s8xBvY. Similarly, we can look at the structure of almost any matrix. For instance, if a matrix of weights is changing frequently, plotting each step may allow us to see the effects at each stage. • Well-designed floor plans are always a pleasure to look at, especially when the purpose of each room is clearly indicated, when there is an arrow pointing from the model to current photos/videos of this room and when the whole continues with information buyers need to know about and finishes with the appropriate contact coordinates. Still rare to see an offer that skillfully draws attention through design. But I can imagine that a great web/visual designer can help a lot with that. • A structure knows its name but still not its line fit bit.ly/2IDH2OK (code: bit.ly/2GHaFsC). Sometimes experimentation rewards with additional views bit.ly/2IEB7cs • Implementing the Hungarian method for optimal assignment was slightly harder than I thought. In particular, the striking of the zeros in the cost matrix with the minimum number of lines can be made in many different ways. (Then went to see an existing implementation on GitHub which had several screens of code.) Mine had only 1.5 screens (including all comments) before it became intricate. And it was only for simple one-to-one assignments. Despite of this, it is still useful to know the process and be able to apply it in practice when needed. Yesterday, I learned about another case for it: "assign each paper to each available reviewer". The input could potentially be a 100x100 cost matrix, but whether someone would bother to craft it by hand is another question. • Comparison of UK rail (National Rail) ticket prices for four selected routes bit.ly/2rZvSJc. Someone complained that the yearly ticket price between Brighton and London is expensive relative to the distance traveled, so I decided to take a look. Considering the distances between the cities (albeit on a straight line), this route shows very similar characteristics to other ones. What surprises is that currently it doesn't seem to matter much whether a ticket is for one, three or six months in terms of daily cost. This pricing scheme probably encourages people to switch to monthly or yearly tickets only. But while the difference between 7 and 30 days is small, the same cannot be said for the one between 30 and 360 days (for simplicity I assumed that each month has 30 days). The diagram shows very similar switching incentives for the two (irrespective of the route), which means that a monthly ticket could offer much more flexibility if you are ready to incur a small loss. • Still surprised to hear how many companies throw millions after people who don't help them grow, perhaps even contribute to their decline. Then they start looking for "better" employees which cost cents and wonder why they can't find them. Things don't work that way. Market conditions. • "Skills are always an issue. Getting top-class talent is never easy, but you can make it easier on yourself by going where the top talent is." Better to see it before you believe it. Actions speak louder than words. • Sample storyplot bit.ly/2rZhjFm • What is the current level of CPU utilization of your servers? A somewhat counterintuitive diagram consisting of two lines suggests that some servers can be less energy-efficient at low utilization. The power they use rises more slowly than the energy-efficiency they achieve with increasing utilization. We might think that less computation would reduce the overall energy use by a lot, while the actual effect could be much less pronounced. What decreases are both efficiency and utility since a server in an idle state is not adding much value. On the opposite, a fully utilized server can reach high efficiency and be used to create many new assets, while the increase in power usage may not be significant. (Please, feel free to verify this with your own servers and data.) Keeping utilization at around 80%, leaving 20% slack for unexpected events is perhaps a good way to balance against the possible interruptions from services executed in the background. Reminds me of the finding how some hotels regulate their used capacity at peak times—once it exceeds 80%, they start raising their prices to guarantee smooth operation. In short, having fully utilized servers may not be a bad idea if you have a steady queue of complex, high-value tasks you can assign to them. • Code showing that e = -1 bit.ly/2rZPeO6 • You may remember an attempt to show the vacant parking places in Melbourne, Australia. Pleased to see that the data was made much more digestible and fresh (updates at regular intervals), which means that it can be easily converted to a demo. But since we see this when the local time there is said to be 02:20, it is not surprising that very few places are currently occupied. • Good to see how people in Helsinki tend to think about their libraries bit.ly/2rYQ4e4. The average of 12.36 books borrowed per year across 5.5 million readers tells about deeply ingrained reading habits—something that the new library may seek to leverage. What impresses are the photos of these well-organized places, having many small-sized bookshelves. I cannot imagine that every possible book is available there and wouldn't be surprised if they use data analysis to find out which books to load instead of trying to keep all of them—no matter how old or dusty,—in a single building, which is hard to manage. Sad to hear that so many libraries have closed in England since 2010. • Enjoyed the excerpts from the books "Bayesian data analysis" and "Applied predictive modeling". Both seem to be well-written, but the full texts could give some wider and more useful context. • Connections between determinant, rank and inverse of a matrix bit.ly/2k8hY3O • "My convex skull hurts" might be a sign that you are a programmer with a headache. • Applying non-negative matrix factorization (NMF) on an image bit.ly/2rU8Fbf with the idea to associate basis vectors and their weights. Here four components were used. In the resulting image we can see that some areas are much brighter/darker than others, which leads to a less harmonious result. A viewer who is scrolling around, would first perceive the highlights before they reason about the subject in the image. • If you also saw grids of images with oriented lines having white and black and wondered how they were obtained from an image, independent component analysis (ICA) applied on the patches seems to be one way. PyDeep even shows an example of this. • Finished reading the IPOL's paper "The noise clinic: a blind image denosing algorithm" and thoroughly enjoyed it. Since real-world data is often noisy, I can imagine it could be a good pre-processing step to improve the quality of images before they appear online or in publications. Observing the difference images allows to directly see the effect of the algorithm. • Looking back, almost eight days have passed since I mentioned my issue of being unable to plot with matplotlib. Today, you released another update and after installing it, my issue magically disappeared. Words can't describe how grateful I am to you. • If you heard how many different contexts the word "publishing" can have for a library and the heroic effort required to manage everything on a "squeezed" budget, would you think of the need of an International Library Day? I see libraries as a complement to the web and I think we should maintain/expand their heritage the same way we push for an open web, never taking both for granted. Possibly explains why the coordinates of so many libraries were included here in the past. And I still believe that the search within the catalogs of many libraries can be improved. • Saw a statue of a thinking programmer in front of his laptop in an article on reflective practice. He probably realized that he can't make himself forever through his work and asked a colleague to cover him with molten metal instead. • "Success is determined less by what you know than by who you know." Consider why you are unable to speak with me then. • Derive fruit prices from fruit mix prices bit.ly/2rKsTnE • Suppose you have a limited energy budget for movements. Where would you go? Would you reach your planned destination? Is there a sufficient reward that will enable the next move to explore the space or will you get stuck, fully exhausted? This thinking might help you the next time you find yourself rushing mindlessly through the day. The more energy you are ready to burn through to obtain a small reward (relative and computable), the easier it will be for others to manipulate you. Better to conserve it and use it when it brings you the most and when this provides you with some more to keep going. • Showing a bipartite graph with many nodes on both sides and a single edge between the two groups is a fairly creative way to describe the rarity of true love through a simple and expressive graphic. • Not available on any time frame. If you've made plans to communicate with me "later" and "in case if", better don't start. I am not your substitute. • When as a tech company you organize a conference on which internal employees greatly outnumber external visitors, do not expect to hear a lot of questions/criticism. That's convenient since you can then go to great lengths to explain how "grand" your products are. Someone might even believe that. • Have you checked the Flesch-Kincaid readability score of your ten-screens long article discussing pets and puppets? Höchste Zeit. • Sometimes I create diagrams from articles. Finished reading one, which mentioned that the production of 1MW electricity takes 345kg plastic junk, but only 132kg natural gas. The former releases 880kg CO2; the latter—360kg. Could have been a matplotlib diagram. • Getting rid of old papers is much harder than accumulating them. You have to go through each one to ensure that you are no deleting anything that would support the "not knowing what you are not knowing" case. Takes time. • The answer to this question bit.ly/2rESezt might be rooted in the way one wants to be perceived. Many people who go to theater tend to appreciate culture or simply want others to associate them with it. But imagine a performer who is trying to do their best to entertain the audience—how would they feel midst yawning/sleeping people? How could they possibly understand whether their performance is good when they are receiving no feedback? Sleeping during a performance when there is no physical tiredness or precondition that necessitates it is an act of disrespect towards the work of the performer. It is almost symbolic, because at a place that is attempting to sow the seed of culture, lack of culture is being tolerated. Therefore, I would understand if the performers went to their audience and politely asked them to leave, assuring them that they would receive their money back. Not every performance has to be for everyone. • Reminds me of the words that whenever someone writes a book or creates a music piece, their work is at some point done, whereas the work of the software developer is rarely ever done (and especially so in the case of using dependencies). • Deutsche Bahn slightly changed one of its pages and as a result the demo page relying on the IC bus prices had missing data and a broken layout. This should be fixed now (at least temporarily), but as always, if you notice problems, let me know and I will try my best to resolve them. Many eyes see much better than two. • I was wondering once why I was reading a math book, which was hard to understand, when the shocking thought came to me that math could be used to prevent computation. If a result is known in advance or can be derived on paper, then the loop that would be used to generate it, can be safely eliminated. And if the result is unknown, but doesn't change between executions, then computing it once and replacing the loop with it would save the repeated execution on each request of the code. Was not exactly improving my math skills. • If I raise 6 to powers bigger than one and then sum the digits until I come at a single one, the result always seems to be 9 (6^2=36, 3+6=9; 6^3=216, 2+1+6=9; 6^4=1296, 1+2+9+6=18, 1+8=9; 6^5=7776, 7+7+7+6=27, 2+7=9; 6^10=60466176, 6+0+4+6+6+1+7+6=36, 3+6=9...). 9 is just a reversed 6, right? • Electronics also seems to have a lot in common with programming. The need for careful design of the architecture, component selection, the choices about the component characteristics, the sequence of connections (inputs and outputs) hint about this. In addition, speed of the circuit may also be important where memory modules enable the access to data. The interface hides the complexity behind a black box to ease the use of the device while not bothering anyone with irrelevant details. Optionally, the user can toggle the desired functionality, see feedback on a small screen or input data on a specialized keyboard. In programming we often keep the size of the code small to ease maintenance; in electronics this translates to miniaturization of the components, minimization of the interconnection path lengths and optimization of the total board area. Increased power-efficiency due to reduced current/voltage enable better designed circuits to operate longer, potentially reducing strain on the battery/supercapacitor. Therefore my guess is that working on electronics projects could help us become better programmers (in some non-obvious ways). • Chord diagram bit.ly/2rACCwQ • Matrices find so many and diverse applications. As I learned recently, they can describe even the pattern of yarns running along a fabric. But in cases where plotting is unavailable (suppose that your matplotlib is also broken), understanding a matrix by looking at the numbers can become relatively hard. And I still believe that some important techniques are still missing/unavailable. From web design, we know that if a technology is not available, a fallback must ensure that the content is still accessible. With a matrix, its numbers are the content, but unless we visualize them, we have only a vague understanding of the context. Even a color blind person should be able to tell the specifics of the structure of the matrix, the available relationships and similarities. Maybe even get a "numeric heatmap" as a fallback to the visualization. It is unrealistic to believe that with dimensionality reduction, spectral analysis, correlation/covariance, matrix factorization / decomposition, several statistical methods and others we have fully exhausted our ability to learn from a matrix. And if we fail to learn at a basic level or develop more methods that enable it, we can expect to understand even less once the computational complexity increases (which is already the case with neural network variants). When we see a matrix of moderate dimensionality, it is helpful to ask ourselves what percentage of it we understand from the context and what potential knowledge we might be discarding by seeking a convenient reduction capturing the maximal variance. • Multiple paths over the pixels in an image can selectively preserve image detail, where the rest can be set to the background color of the context. Given enough visible pixels, this allows images to appear nonrectangular while at the same time using the viewer's ability to derive the missing details. An interesting question is what the minimum number of pixels could be that allows the image subjects to be properly recognized. And which pixels are more important than the rest. • A piece of me engaged in unsolicited word play: microscope over horoscope = horror #funnyfriday • NREL has published some very informative stacked bar charts describing the cost of solar PV installations in the years after 2010. From what I saw, it seems that in all sectors (residential, commercial, utility-scale) the cost is decreasing not linearly, but exponentially. • Blue whirl bit.ly/2I96USk • A short brainstorming session about the possible nature of edges in graphs bit.ly/2rz27hZ. Slightly unreadable. • Joint probability of a sample Bayesian network bit.ly/2I2IdHb using another one as a reference. Although a useful model, we rarely have knowledge about all probabilities, so deriving an accurate end result may be hard. Created with LibreOffice Draw. • The results obtained by various image segmentation methods (mean shift, normalized cuts, convolutional segmentation nets) are often fascinating, especially when the parts of the whole object are colorized using a harmoniuos palette. • If you have an image of a cat looking at the camera and you use SIFT for feature extraction using red points (not great), you could get the red-eye effect for free. • I wanted to try illustrating with code that the product of multiple Gaussians is a Gaussian (idea said to be used in the Kalman filter) when this error happened. Now describing it in words only. • After updating some packages, I noticed that matplotlib stopped working on my machine, showing the following error message bit.ly/2I758Ba. Installing python3-tk as suggested did not help. It seems that other people had this problem in the past too, but none of the suggestions worked. Still wondering what could be wrong. • There were few instances where I started working on a demo just to find out that I already reached that goal in the past. Have you experienced the same problem? The disadvantage of completing many things is that the search time to verify that you don't repeat yourself starts to take longer. • Serving people who are losing real money tends to be easier. If they wouldn't seek help, their losses might increase. Payment is then not much of an issue, due to the realization that it is the lesser evil. Then the willingness to collaborate and respect naturally comes. If someone isn't seeking your services, they may either not have a real problem or not care much about the quality of the solution. • It is worth remembering that long-term employment at below market average salary is preparing the degradation of your skills. Simply because other people who get paid meanwhile will have more resources to gain advantage and prepare for the future better than you will be able with lots of effort from a low starting point. Additionally, the capacity to bring more effort isn't infinite or forever. • Impressive how fast the living standard in China is improving. According to an article in "Zeit", the average salary in the countryside is already ≈1600 Euro, while in the cities it comes at ≈4350 Euro, if we preserve the same conversion rate. Only 5-10 years ago some people in Europe were laughing over the low standard in this country, but now, it seems, the roles have changed. If the numbers are correct, the average salary in China's cities (unclear how many) already exceeds the equivalent one in the top 40 US cities as of Q3 2017 (≈4380$) and approaches the averages observed in the top 5th US city. Interesting times.
• Have you noticed the average cost of providing your service the past week/month? Was the service worth it?
• "For a 486 PC with 4MB RAM, the largest network that can be used is 13000 nodes and 50000 arcs without road names loaded in." My CD-ROM can't even get how this was possible. Excites me much more than reading a paper about a medium sized problem (possibly solvable on a laptop), where the machine setup included 128GB of memory or more.
• No respect means no work from me. It is something that I tend to check very early and repeatedly and where many of you have failed before. In this case, it is clear that you also lose the chance to communicate with me.
• Quite amazing to see parallel coordinates visualization which doesn't use lines as boundaries, but circles/polygons, rotated in 3D, where the lines move between them. Sometimes visualization seems inexhaustible, especially when you combine multiple related concepts. Also interesting to see a scatterplot with consistently-sized (space-efficient), enumerated points, on the right of which a bar chart is located, which adds a "depth" dimension to each point, while still using clear 2D graphics for both. I won't discuss the third idea, because eventually it might appear in a demo if I find the time and stamina for it.
• Wavelet transform of a sequence bit.ly/2rhTRTq
• Weighted median filter of length 11 bit.ly/2HGAH4K
• Utilization of shelters for homeless people in Toronto, Canada (01.01.2018 - 01.05.2018) bit.ly/2rjpoVl. Most shelters seem to be reaching their full capacities. Some of them report strange numbers (e.g. capacity lower than occupancy). (Occupancy is shown in blue, while capacity is in red.) Some shelters, two of which are for families (Birkdale Residence Motel, COSTI Edward Hotel) and one that seems more generally available (COSTI Radisson Hotel), have expanded their capacities this year, but the demand at these places increased accordingly. A bandwidth in red indicates that the capacity fluctuates or alternates on subsequent days. It could be that one day (when capacity is reduced) is used to organize an event to enable the increased capacity on the next, but this is only an assumption. The capacity of S.A. Maxwell Meighen Centre seems to fluctuate the most.
• Some people can't truly comprehend what it means when you tell them that someone is ill and can't speak with them on the phone. They continue ringing the entire morning as if no rule is valid for them. That's cheeky and further convinces me that not having a phone myself was the right choice. Better to not allow random callers and promoters to distract me. Feeling subscribed to a device everytime I can't limit certain calls.
• Comparison of theoretical signal loss at 2.4Ghz and 5Ghz frequencies, depending on the distance from the access point (excluding external influence) bit.ly/2HEJzIf. Made this primarily for myself to convert an interesting formula into something I can more easily comprehend. No guarantee of correctness.
• Used to commute to one of my previous jobs for 75-90mins (in the one direction). Almost a year later I felt physically exhausted (in line with the previous graphic) and dissatisfied with my learning and earning rates. Then I asked for a pay raise, believing that it could partially heal at least one of the side effects. After waiting a couple of days and still having no response, it became clear that the time to leave has come. Since I came there with the help of an intermediary firm, it was not hard to suspect that they were looking for a cheap, not necessarily qualified employee. And so, out of dissatisfaction with the existing opportunities, dummerAugust was born.
• Came to an interesting graphic in "Why sleep matters: The economic costs of insufficient sleep" by RAND Europe, which highlights some of the factors affecting sleep loss bit.ly/2HCydnR. "Financial concerns" ranks at the second place; worrying about money on a daily basis seems to make people progressively more tired and unproductive at work (see the meaning of "presenteeism"). Another reason to ask your employer/clients to pay fairly, according to your expectations and not simply serve mechanically and in fear of using your own voice.
• Still checking my work multiple times in the full knowledge that this slows me down and out of fear how I might see myself after the fact. Some corrections I've made helped to avoid a couple of serious mistakes. When you try to work fast, you also tend to make lots of mistakes. But what repeatedly worked for me was staying with the task for a while and developing intuition about it. Then it was this intuition that was telling me I was wrong once I saw the result.
• "Tracking mouse cursors provides new ways to understand visitors and their needs." I can agree with this only when it is a limited-time, pre-launch experiment used with a small control group representative of the entire user base. But I would disagree when it is used for universal spying of people's actions, becoming part of the business for no good reason. If you find yourself tracking cursors or even keystrokes, stop for a while and evaluate what you are doing. Dynamic forms of tracking are especially harmful when they cause people to avoid certain sites and become more wary of new services.
• If you don't have time to discuss your project or have no idea how to organize your thoughts, you won't find a solution.
• Sometimes work receives an additional, ethical dimension. Suppose you are frequently paid on time, but your client is unable to fully take advantage of your product. What would you do if they insist on "trying harder", paying repeatedly in the meantime? It could feel that you are doing half the work, yet taking full advantage of the situation. How often would you be willing to do that? Would you try to find another client who needs a better portion of your skills or would you rather stay in this relationship when you think that leaving it could harm your client even more? Would you continue to serve as usual (and get more money) as if nothing happened?
• Usually using great weather for work and today is no exception.
• Wrote down some keywords in my ideary after reading the paper "Ellagic acid in strawberries": antioxidant, antiinflammatory, antidiabetic, cardioprotective, neuroprotective, prebiotic effect; for prevention & treatment of: cancer (skin, esophageal and oral, cervical, lung, breast, colon, prostate, liver; all suspected), diabetes, cardiovascular, gastrointestinal, kidney, liver, eye and neurodegenerative diseases, depression and Alzheimer. EA available in fruits (if not dry) and leaves. Knew that berries are superfoods in general, but even so this list surprises. However, they are probably safe only when not chemically treated.
• Wondering whether a heatmap of body functions can exist. Some organs probably work harder than the rest (relative to historic measurements), so it could be useful to know which they are. Now reminds me that I wanted to learn more about the Weibull distribution and the probability of system failure.
• Here I try to produce content the way I would like to consume it. But I cannot cover all possibilities and tastes: one visitor might prefer watching only YouTube videos, another may want only images and figures, a third one may prefer in-depth articles that are ten screens long. I am not convinced in the format of any of these, which is why they aren't used here. But when someone writes about "making text on the web unnecessary" in favor of much higher video quality content than exists today, I begin to wonder why YouTube hasn't been completely textified yet.
• Sooner or later you will eventually hear about cases where young people, just entering the workforce, start at salaries much higher than yours, the person with many years of experience in multiple programming languages etc. The question then is whether this "industry" deserves you at all. Perhaps it should be left either with no people or only with those having no experience.
• "It is important to be likeable when on a software team" was a message I saw in a blog post yesterday. While I appreciate a conflict-free atmosphere, I also have to disagree with this statement. One of the great lessons I received while still at university was that professionalism comes first, even when it could impact the quality of the relationships. We were taught that doing the right thing is more important than being respected within the team. "Likeable" here would mean a "me-too" attitude, possibly paired with fear of self-expression out of constant awareness how others might perceive you. A fear that I also had in my early days.
• The quality of many projects today has a lot in common with a squeaky sheet of metal that previously belonged to a high-end car. Avoid.
• If five individuals alternated to give you a different advice every day how their project should move forward, tell them that after some careful consideration you decided to adjust the project cost to 5x. Then see whether they'll pay the new price, seek consensus to preserve the old one or leave. Keep in mind that making 3 of 5 people happy may not be qualified as a successful project outcome. That carries a risk for you.
• If you couldn't pay, you didn't belong on my contact list. Either as a company or as an individual—it didn't matter. Did I say that company names don't impress me much? Plus, if I left your company, I also left your people too. All of them.
• Didn't realize that you could send a query to multiple search engines at the same time and obtain a rank from each one, the combination of them being the rank within your own system. This may be something that price comparison search engines use, for instance. But the HTTP request cost is the reason why you won't see something like this in my work.
• Problem sizes matter. If a system allows you to browse up to 50000 items, is it reasonable to expect that it will work equally well with one or even ten millions? Probably not. Try to think differently before you hammer the same nail type.
• It's not true that you should always be asking questions. Very often the cost of doing so is higher than the potential gain. Plenty of people exist who try to take advantage of the fact that someone is asking or expect the same peson to bow to them. Great only that a thing like Internet exists to alleviate issues like this. This is to say, use your own judgement. And if the other side doesn't treat you fairly, seek help elsewhere.
• Many algorithms can't work well with spurious data. So the requirement quickly shifts to "provide all data"/"fill all existing fields", which the average user perceives as invasive (even I do). This results in fewer filled forms and less data for new companies to begin with. The users feel they are sharing more than needed and fear that at a given point this might be used against them (eventually it will be). We have to ensure that the data gathering process is less dependent on a concrete algorithm implementation. And that people have more freedom to choose to share only the bits and pieces they find appropriate relative to the task they are trying to accomplish. Some users may not want to share their age, nationality or company, because they fear discrimination, for instance. The software has to be able to accept and handle their choice transparently rather than balk about its own requirements. Its task is then to connect the given pieces in meaningful ways. A problem with this approach is that a user might then say: "If person X isn't providing this data, why should I?" The answer is simple—complete lack of data means either a very low-quality service or no service at all. The saying that "users make or break the service" is entirely true. Another question: "If all companies collect so much data, why should ours stay behind?" You are not other companies and are fully responsible for your own choices. If they made a serious mistake and were quick to scale it and very slow to correct it, what does this say about their business?
• If you assume that a given question has only one right answer, you may be unable to see how several possibly connected factors interacted to lead to the effect you observed.
• Just-in-time programming means you write the code at the time the client expresses the need for it rather than ten days in advance, attempting to address a fictive need that may not exist at all. This helps to eliminate a lot of waste and reduces your technical debt to a minimum.
• Digging deep into various freely accessible reports, I came to a figure about driver fatalities by age and sex in 2015 in USA bit.ly/2H4OguF. A quite valuable graphic saying nothing about who drives better, but something about who could.
• To avoid focusing on feelings and memories of what happened today, I tried to shift my focus on something different. And here it is: "US states Internet connection speed similarity (30.06.2014)" bit.ly/2H3q1Nh. This is what I had in mind yesterday night.
• Back from hospital, scared and saddened. Wishing you to never be a passive observer of someone's convulsions and loss of contact. After an initial scan, doctor rebuked: "I've never seen something like this". Me neither.
• Unaware until now that the Bureau of Transportation Statistics has fine-grained data on delays about departures and arrivals by airport and carrier. For instance, you could look only at airplanes operated by Soutwest Airlines which departed from the Atlanta International Airport to learn more about the various delay reasons (departure, carrier, weather, national aviation system, security, late aircraft arrival) and the destination airports affected.
• Extracted some of the most common addresses and the most common complaint cause about each one from the Louisville 311 service requests bit.ly/2GYmPCp. If 27 people complained about the same place, citing the same reason, only in a short time, perhaps something there is wrong. But the roots may go deeper, because the issue may present an unaddressed historic problem.
• Good to see Louisville providing air quality data from several stations. What I couldn't understand is how PM2.5 could have negative values bit.ly/2qzyoVB. Also, since the stations do not measure the same parameters (or use different means to do so), the results are likely not comparable and require the writing of specific code to parse each case. This makes creating a useful and usable demo from the data especially difficult.
• Polynomial fit to z-scores bit.ly/2GYzVjj
• Increasing n as in n-gon bit.ly/2GYtooN
• Gallons of fuel pumped for each vehicle of the fire department in Louisville (25.08.2011 - 13.04.2018) bit.ly/2GZ5YQ2. Overall, diesel consumption is higher (2.03x), but there are only 79 vehicles using diesel compared to the 132 using unleaded fuel. This means that on average diesel vehicles received more gallons. The top consuming one received 26462.54 gallons whereas the top consuming one in the unleaded category received only 8283.91 gallons. The refueling history by fuel type bit.ly/2H3sJ5C shows a repetitive pattern of loading up to 20 gallons of unleaded fuel at once, whereas for diesel we see that it is more rare to load over 25 gallons at once. Still, sometimes up to 50 gallons of diesel were needed.
• Most streets with maximal pavement condition index (PCI) in Portland seem to be located at the north-east of city bit.ly/2qBxnN8
• City Centre and library branches footfall in Cardiff, UK bit.ly/2H2aI7t
• The zoo in Cologne has a plan for new visitors that my monitor can't even fully capture bit.ly/2qvaeLW. I also miss the label on some animals, being unable to recognize at least a few.
• Lines and stops in Prague, the Czech Republic bit.ly/2qsYcCW
• An attempt to visualize a green circular walk path in Frankfurt/Main bit.ly/2GY3wJF
• Ratings from hygiene inspections of restaurants and takeaways in Belfast (07.08.2007 - 12.01.2016) bit.ly/2quEt5G. I was looking for a relationship between location and rating, but the figure does not hint about any. The data comes from the Belfast City Council.
• The last demo now takes time into account when considering the number of comments. This is due to the realization that 100 comments left within 2 days might speak of a higher enthusiasm about the book than 200 comments left within 10 days. Also made the rank values more visible (lower is better). Still not understanding why sometimes the data loads and sometimes doesn't. It may have something to do with when Amazon decides the request is valid and when it believes it comes from an automated bot.
• New books by release date on Amazon bit.ly/2GTHNCu. Made this because it was hard for me to track which new books were appearing, which certainly led me to miss some good ones. Greyed out titles whose release date is in the future (pre-order only?). Placed some green checkmarks on few titles which the numbers hint they might be good. Note that this list may stop working anytime Amazon makes changes to its page structure. If you care about it, feel free to send me a notice when this happens.
• Finding the families of plant species bit.ly/2GUBuPk. Didn't know that coriander belongs to the family of carrots. Tasted honey with such flavor once and after a few days the jar was empty.
• Don't say you have an entire year of measurements about multiple locations when your sensor captured values six times on a single day at a single location.
• International roughness index (IRI) of the streets in Montreal, which had perfect pavement condition (PCI=100) in 2015 bit.ly/2qtjOiv
• Parks and green spaces in Shawinigan, QC bit.ly/2qrAXZT
• Public Wi-Fi spots in Quebec, Canada bit.ly/2GRn7uY. High concentration on the east.
• From very incomplete data, having lots of null values bit.ly/2qrQVmZ, I was able to extract the average daily traffic flow at least at some locations in Quebec bit.ly/2qpXwy6. I was interested to which place the separate red spot belongs. But it says only "Bouvier Street (east of highway 358)".
• Public roads in Quebec, Canada bit.ly/2qrzym2 (via Ville de Québec bit.ly/2GPMH3z)
• Good to see so many organizations having corrected so many critical violations in childcare bit.ly/2GTUTji according to the DOHMH's (Department of Health and Mental Hygiene) childcare center inspections (bit.ly/2qu0SQX). These numbers show so much improvement. When we consider it, we all were kids once before, so we know how easily bad behavior can affect a child's psyche. At least several publications show the long term impact of bad early child care. Whether a mother that screams louder than her child is crying—in an attempt to calm it down—does properly, I leave to you to decide. But every neighbor may have a different opinion on this.
• Some land subdivisions in Columbus, Ohio bit.ly/2GP9Z9G. Uses data provided by the City of Columbus bit.ly/2qoFoog.
• Comparison of the characteristics of some EIZO monitors bit.ly/2qqweaT. By reusing this code (without the pricing attribute) and adding hundreds of iiyama models, we obtain the following result bit.ly/2qproKT. The first model in the code is also first in the rank; yet not everyone might like a diagonal size of over 100cm.
• When your web page is in "stand-by", it shouldn't consume close to 50% CPU. Someone might by trying to type while wondering why their letters appear so slowly.
• Seth Godin talked about the need of speaking what can be improved. Since I am a happy Linux user, I noticed one small thing that could still make a difference, at least to people like me. It falls into the file management category. The built-in file manager often takes disproportional amount of time to open a large directory. By switching to another one which loads all files in reasonable time, I noticed a side effect: If I have small number of files in the left and right pane, file movements are almost instantaneous. But If I have a large directory (say "Unread") and want to move a file from it to another one (say "Read"), the time it takes is non-trivial. When multiplied by the number of papers opened over time, it quickly adds up. Not sure whether this is an issue with the file manager or with the kernel. But kernel updates seem to gradually reduce this time. Still, it can take up to 4-5s per file and if it can happen within 1s that would an improvement factor of 4x. Probably worth speaking about. Perhaps some of you observe a similar behavior?
• Realized that the graph from two days ago didn't minimize edge crossings. Should be more careful next time.
• On the branch information page I noticed something small that left me unimpressed: there are arrows placed on the left and right of the photo of each branch, but they are decorative and not functional. My expectation was that on click another branch photo would appear, allowing me to move between the photos. Yet, clicking had not effect. By making the design look as a usage pattern it is easy to violate the user expectations. If there aren't more photos, the arrows are redundant.
• Conrad branches in Germany (08.04.2018) bit.ly/2GL4vws. Still remembering the large catalog with various parts that my father showed me when I was a kid. It was thick, containing thousands of pages with electronic parts in various shapes and colors, all having different functions and characteristics. There were potentially countless ways in which these parts could have been combined, which I found fascinating. I spent a good amount of time learning about them, but the well-polished boxes with the screw mechanism made a big impression to me. I could imagine using them to keep smaller parts or something precious inside. The entire catalog was as if someone took an entire museum and presented it in visual and popular form in front of me. Currently, the catalogs I find on the Conrad's page bit.ly/2GHk74p do not seem to have such a variety. They still have the boxes (towards the end of the catalog), but only few models where previously they were around 20. Here are the designs of two sample pages from the 2017 catalog: bit.ly/2qhcO8f and bit.ly/2GK06dh.
• Vienna seems to have a lot of green space relative to its territory bit.ly/2GG5EW7. One source even claims it to be 51%. Even then, there are still many white zones. Uses data provided by the city of Vienna (data.wien.gv.at) and the European data portal. With the help of additional sources, we can see how other cities (world & UK) compare to that bit.ly/2GHllg5
• Good visualizations help us understand the story even if we don't know the language bit.ly/2qe6u1y. In this example, the locations of several places of interest are shown on a map first and then to each one we see multiple air quality measurements assigned. Notice the clever use of the available space at the top and how the title is aligned both to the text on the right and to the map at the bottom. The legend at the top stands out nicely and the lines further clarify which part of the bar the texts describe. The measurements at each place are shown on a sky-blue background (signaling that the domain is air) and the bars are mostly in white (signaling that they are about something we hardly even notice). No attribute label appears twice: each bar is associated with a small icon, which in itself leads the eye to the legend on the right. This saves a lot of space and removes a lot of potential clutter. Even when the diagram is about 2016, we still see how the air quality attributes have varied historically. The subtle box "Index=100" informs us that these values are relative and not absolute. Both the temporal and spatial perspective are given.
• Good to see some parkings in Rotterdam transmit information about per-place occupancy along with physical boundaries instead of showing the counts in the "free" and "occupied" categories bit.ly/2GFM0JR. If there were much more parking places, tracking this in real-time could become more interesting.
• Highlight the most connected people in a sample social network bit.ly/2qeDtCV
• Locations of the libraries in Vienna, Austria bit.ly/2GF9uiq
• The star cluster NGC 3293 in a colorized grid bit.ly/2qe2b6b. Original image by ESO/G. Beccari. The images page of the European Southern Observatory (ESO) is also worth a visit.
• "Patients are sometimes kept alive for 31 days (after surgery), so that their mortality is not reflected in the hospital's metrics." - Jerry Z. Muller in "The tyranny of metrics". Terrible and even more so when you realize that this could happen to almost anyone. The author gives some good examples how "beautifying" and obsessive fixation on metrics can have adverse impact on people motivation, company performance and more.
• Line-circle intersection tests bit.ly/2qbMqwJ
• This week's offers at Lidl bit.ly/2qacLLo
• It is very easy to assume that the patterns someone invented which then became widely spread/adopted are the only good ones worth using. But this is a fallacy. We can't do our best work when we blindly apply the same techniques irrespective of the domain and the needs of the project. And if we think about it, doing so only makes these patterns even more popular. It follows that popularity can arise simply from misunderstanding, which in intself may become a requirement.
• Comparing people flow bit.ly/2Emjffj. Inspired by an idea which probably deserves its isolation.
• A payment that didn't pay has not fulfilled its purpose. It's like a worker who didn't work.
• "We provide data from many sensors located across the entire city." Then I check one—no response. Another one—the same. All of them automatedly instead of manually—only four respond with values (each measuring one of humidity, temperature, pressure or CO2), yet they have the same geocoordinates. I doubt that this is sufficient to summarize the state of an entire city well. Despite having 24-hour data about these attributes, some of them don't seem to vary much, which means that even a time series graphic may not give a good picture of the current situation. Not what I expected, since it effectively cancels what I started.
• Annual consumer price indices in various countries (1960 - 2014) bit.ly/2JksAYN
• Speaking about exploration, Xplorit has virtual tours where you can see in a 360° perspective how various places in USA look like. (Santa Clara's website refers to it.) You can even take a look inside some buildings and move between rooms by clicking around. Or even look at the city from above, moving on a sky-fly spherical trajectory from one place to another. Fairly impressive website, considering the quality of the perspectives and how fast it loads. A small problem is that it is not immediately clear when the images were last updated. But this could make you realize that a shopping center too can have virtual tours of its stores, so that people can see what's going on there at the moment. However, this may require a significant investment in expensive equipment, which makes the idea hardly applicable at most places.
• Noticed that many websites of shopping centers/malls simply show the logos of the companies which rent space there. I admit that having grey blocks with carefully designed and centered logos having the same consistent color looks beautiful and helps to inspire trust. Yet, the function of a great website is not merely to be beautiful, but also useful. The logos can only inform the visitor which brands are available, but they tell nothing about physical location. If there are more than fifty spread across multiple floors, the visitor of this website would be no better in knowing where to seek one than a random person who enters for the first time, not having visited the website first. Providing a plan of all stores enables people to also see the shape/location of each one and use their spatial memory once they enter. It also helps to have a small description of what makes a given store unique. Imagine that brands like Sony, Pentax, Nikon and Canon have stores on the same floor. Should someone with interest in photography visit them all before being able to accomplish a task? Which one should they enter first? That's not helpful and wastes a lot of time (in walking and asking questions). It is better to know the strengths of each store in that particular mall. Perhaps, for competitive reasons, all brands have adjusted their offers and a person who looks for a camera may see only models who stand well relative to the nearby store offerings. Or a tripod may no longer be available at one store, because another one decided to present their entire gamma. Yet, there is noone who helps new visitors develop the right kind of associations in advance, which is a missed opportunity. (A pure list of brand names positioned before an escalator is also nonconclusive where someone has to look upon arrival.) This is what a web designer having to work on such a website can do. And it also means that to present that center well, one has to stay in constant touch with representatives of the various brands to know and be aware of the changes they introduce and the impact they have on the place. It is far too simple to serve (and produce blocks of logos) only in the interest of the landlord when this is the entity that pays for the website. But without brands willing to rent space, there will be low or no income for the landlord, which can become costly to the point that they decide to save on the additional cost of developing a website.
• Routes and stops in Albuquerque bit.ly/2EjNlzW
• Total installed solar PV capacity in UK bit.ly/2Jiu8SZ
• Never heard sound files from cumulative energy usage over time before bit.ly/2Ejz4mR. Considering the number of appliances this house has, analyzing the audio might be interesting. Unfortunately, the sound cannot give us information about the exact time of the measurement or the appliances which produced it. And the data itself is enormous: 16 weeks * 180 files * 200MB + 1 week * 77 files * 200MB ≈ 591.4GB. Maybe this is the reason why not the entire year worth of data was captured about this house.
• City of Topeka expenses bit.ly/2Ej6XEr (Source: bit.ly/2q5DdWG). Included only the top 30 sources of expense, where construction, interest on debt and employee compensation/benefits are found frequently. I am slightly sceptical about the starting date, but have no easy way to check it due to the size of the file. I took the minimum and maximum of all dates, but 01.01.1970 seems slightly suspicious to me (perhaps you can check this yourself). Another thing that makes me uncomfortable is the thought that the value of a dollar ten years ago is quite different than the value of a dollar today, so by taking the sum of all amounts, I was effectively doing value comparisons. Not good.
• Median NO2 concentration by the hour on Market Street, Hebden Bridge in Calderdale (01.07.2016 - 31.12.2016) bit.ly/2q6IKft. Some values were missing, so the picture is approximate.
• Feder bit.ly/2uJNRYL
• Air quality measurements at different locations in Eindhoven, the Netherlands bit.ly/2uMrLox
• Domestic and international passenger traffic at the Dulles International Airport (1962-2016) bit.ly/2GvdGBn
• Comparing windows bit.ly/2JfFtmN. Ironically, during my work on this, received the request to clean the windows, which was a demo in itself.
• If salaries rise much more slowly than rents, then at some point people will have to either renegotiate them, look for jobs that pay more or switch to live in cheaper neighborhoods. The effect could be that many employers who used to employ cheap workers will have to look for new ones.
• Average WG room rents in some German cities bit.ly/2pZNlQx. Made this primarily for myself to see how much rents have increased relative to the time when I was a student there. Based on an article from a couple of days ago. The author mentioned that in Munich, for instance, the average room rent has reached 616 euro/month, while the average rent for a 30m2 room has reached 785 euro/month. Rooms in Frankfurt and Stuttgart were said to be available to students at ≈480euro/month on average, based on the offers on a well-known website. Compared to that, rooms in Magdeburg, Cottbus and Chemnitz were said to cost 241, 230 and 212 euro/month on average. If a student spends 5 years in a 30m2 room in Hamburg, provided the rent doesn't increase, only their rental cost would come at 5 * 12 * 500 = 30000 euro. In addition to this debt, elementary things like food, handouts/books, communication, transportation, events can quickly increase the costs. In my opinion, it is no longer realistic to believe that part-time work during the study can cover such expenses.
• When some previously weakly typed, interpreted languages are updated to look as if strongly typed, one starts to anticipate that code written in them may need to be compiled soon. Something that made weakly typed languages popular in the past is in risk of being removed.
• Dear Coursera, don't send me mails in a language I don't want to see. You might assume that I'm sufficiently knowledgeable to understand it, but you are wrong. Plus, I have my own preference how I want to read my information, yet you didn't bother to ask.
• If you believe you have a good project and the necessary funding, while seeking someone to realize it, and you think that working together would improve the outcome, feel free to contact me. I consider all proposals even when I have capacity to accept only few. And if a stubborn backup doesn't annoy you, that's even better.
• Currently going through the painful process of backing up files on a slow, external drive, after remembering how I lost almost half of those I had once before. I didn't do more recent backups, so this was necessary. The big files were copied relatively fast, but the small ones (mostly code from various libraries) seem to be challenging, since the copy speed has fallen to ≈210Kb/s (and still is) and I get estimated time left of more than a day. To avoid thinking about this and meanwhile do something else, I tried to browse some visited websites. Previously, I always perceived them as fast, but now they were mostly stuttering, likely due to I/O effects. Even when the backup won't end soon, this gave me a nice reminder to not assume that the websites we create will be the only users of a given resource, when it might be shared across tasks. If possible, we have to test our websites under more conservative scenarios than we expect.
• An idea to reduce waiting time at supermarkets bit.ly/2pRc89r ↗. Spent another 10mins in line today, which could have been used for something else.
• "There was quite a controversy in the UK when the National Health Service (NHS) gave Google DeepMind access to patients' medical records. That didn't exactly inspire trust." Maybe because data has the tendency to reach third parties and be used for reasons beyond the original purpose (considering the long view). What if patients started to receive recommendations for pills or surgeries? The wider problem: Which individual researcher could sound as convincing as to get an equivalent approval? Or: Given this data, can DeepMind contribute valuable insights to the public domain (NHS possibly operates in the name of social interest) which are broadly useful without mentioning the states of concrete patients? All interesting questions.
• Never agreed to work against unrealistic expectations; accepting anything that appears like this is unprofessional. A big educational institution was seeking a web application developer that can "scale the education process and organize secure exams". While the first part of the requirement appears almost fine, the second doesn't. They can go and inspect the security in any Fortune 100 company—it doesn't matter which one they choose. Because we still keep hearing stories about them, full of accusations, lawsuits and disappointment. And here this institution comes, to expect from an individual what a corporation can't accomplish. It is for reasons like this that I made the jobs page a long time ago and why I still don't regret it.
• Had no idea what stress taxi drivers in New York have to endure bit.ly/2Gd9HoJ
• While testing an idea over an image with coffee art, got an unexpected result that the contours of the coffee cup have become more colorful bit.ly/2pIzJtE
• "To keep pace with population growth, more food will be needed in the next 50 years than has been produced in the past ten thousand years combined."—Daugherty/Wilson in "Human + Machine: Reimagining Work in the Age of AI" Sounds scary. So we have to see whether precision agriculture can become that precise. Also liked the examples with the cooperating robots and how an AI system analyzing natural language helped Virgin Trains reduce their manual complaint-response work by 85%.
• Parcels in El Dorado County bit.ly/2pD1jZt (Data source: bit.ly/2GaWHzU). The black areas were not supposed to exist, but the diagram gives a good overview overall. Took hours to compute; had to add the title after that.
• "The original Kangaroo Route from Australia to London was named for the seven stops it made over four days back in 1947." (A direct flight from Perth to London (9009 miles) by Qantas Airlines took 17 hours and 2 mins.) Average speed: (9009 * 1.609344) / (17 + 2/60) = 851.18km/h?
• Not sure to what extent rainfall contributes to higher or lower wheat (or any other crop) yield, but I think that questions like this can often reveal interesting findings. What is important is that we have the tools to look at such relationships, the only limiting factors being data availability, our time on Earth and insatiable curiosity/willingness to explore.
• Surface-level urban line stops in Milan, Italy bit.ly/2pDz2SC (Source: bit.ly/2pEO5e0). DBSCAN is able to identify only five clusters where over 20 line stops can be seen within a very small radius.
• In some cases new pavements are said to be built to last for a period of up to twenty years. They must be unbreakable and durable, no matter the weather conditions or what attempts to grow from below. If the edges stick out, someone might stumble over or slip on a surface when it's snowy. This raises a question about how we should be thinking and approaching our own design and code, even when the possibility to have them visible/operational after such a long timeframe might seem unrealistic. Every subsequent change of a product is a chance to examine whether the gains realized by usage of the previous version have fully covered its development plus operational costs. Because by proceeding, we agree to continue this perpetual, temporal theme, where taking suboptimal decisions could mean that someone, somewhere, one day may not have a good pavement/base below their feet. We have to know the past of the context to understand what can be improved and see whether our processes and execution quality fully reflect the years we would like our new creation to survive. How big should the improvement factor be—5, 15 or 50 times (for that many years)? That said, software, which must be changed/adapted every two months is likely having cracks in its structure; before providing value to its users, it already asks for costly rework, effectively taking resources away. If the previous cycle had a negative outcome, proceeding further means that we bet on the reasons why it will be different next time (high-risk). Having unclear vision backed with short-term fixes/hacks can very easily repeat the last cycle. At some point, even if a "software cathedral" appears, it's construction may be unstable or its further maintenance prohibitive.
• Statistics on New York yellow taxi trip records for 2017 bit.ly/2pC8lh4 (Source: https://on.nyc.gov/2pEQDJN). An interesting finding is that on average every second in a taxi costs the client around five cent (0.05$) if we consider all trip durations and the total amount charged for each trip (that's not cheap). This rate was observed throughout the entire year. If you have seen my previous work, you probably remember that the median trip duration of ≈12 mins looks very similar to what some bike systems have registered (strange). You probably agree that the total amount of 150-160 million dollar/month charged for all trips represents a big opportunity for most taxi drivers and businesses. May was an interesting month, because passengers used taxis longer and paid more, but for some reason the number of registered trips seems to have decreased quite a lot. • Street lights with known system wattage in San Jose bit.ly/2pzLNxo (Source: bit.ly/2pEdYv9). Only 718 such lights exists, having a total wattage of 63389.80W. The average unit system wattage comes at 88.29W. • Point fitting with a polynomial of second degree bit.ly/2pA4lhc • Seeing four football playgrounds next to each other for the first time (on a photo). Formed in a 2x2 grid of rectangles with a small control building at the center. Minimum wasted land, maximum playable area. Finding applications of optimization is always interesting. • Number of mosquitos trapped in Plano, Texas (03.2016 - 03.2018) bit.ly/2pAMs0L • Learning about O'Reilly conferences bit.ly/2G3FuZ6. The keyword "Web" appears in 11.11% of all conference names/themes. "Artificial Intelligence" is becoming an increasingly popular topic. • I admit that (state, action, reward) triples modeled on a graph could become interesting. Each node holds state and reward, while each edge has an action verb attached to it. Only that knowing this information (which depends both on the agent's and the wider context and can theorefore change every second) in advance is rare. In theory, nice theory. • Measure daily progress against an exercise target given by a fitness instructor bit.ly/2ubrmM2 • Kernel density estimation of the commuter times in Riverside, California (2006 - 2015) bit.ly/2IItsGw. As you can see, the number of people who travelled most (over 90 minutes) has increased in 2015. But the group of the most people (traveling around 20 mins) has also expanded and the commuters in it have slightly increased relative to 2009. • Block averaging of an image bit.ly/2pnyGhY • Countries by population density (2018) bit.ly/2pmMsS2. Monaco and Macao are most crowded, but their areas are very small. Singapore and Hong Kong follow. Despite having the biggest population, China (ranks 79th) has only 64% of the population density of Germany (ranks 57th). USA ranks at place 177 with 36 people per square kilometer. Canada and Australia have only 4 and 3. • Used ridge regression to attempt predicting the electricity consumption in the Phillippines bit.ly/2pl3nUS. The value of 84807.31 (units were not given) for 2018 must be seen as an estimate. • Loving the effect of getting the average of multiple images bit.ly/2pjtlIw. The one at the top is obtained only from six other images, while the one at the bottom is produced by the combination of fifteen. The first looks clearner while the second appears more color-rich. Weighted average could have brought forward selected silhouettes—of the rose, for instance. With Numpy the results come fast. • Average announced rents in different districts in Luxembourg (01.07.2016 - 30.06.2017) bit.ly/2IwjS9w • National geopaths in Luxembourg bit.ly/2ItzdaZ • Departures and arrivals at the Luxembourg Airport bit.ly/2pheAWw • Average rent in some cities in Finland bit.ly/2ItnetW • Cost of living and wage/salary indices in Finland bit.ly/2IwYfpE. Looking only at the last couple of years shows a slightly more positive development. • Comparison of domestic and international air traffic at the airport of Helsinki-Vantaa and of all airports in Finland bit.ly/2phPK8U. Please, note that with the exception of the last year in the graphic (2016), the data has been collected at an interval of 5 years, which means that the values of in-between years are interpolated and may not resemble the actual values in these years. I tried to clarify this visually as much as possible. • Bike paths in Helsinki, Finland (plan 2025) bit.ly/2piqGib. Not sure whether 1.5 years later this is still accurate. • Most Nobel Prizes were given for advancing medicine, closely followed by physics. Wondering whether this could make Stephen Hawking happier. Worth remembering how often physics is misunderstood/underappreciated. How forces interplay, kinematics, wave propagation, electricity and magnetism are all interesting topics in their own right. The degree to which physics can make itself invisible is both fascinating and beautiful. • Do you find that a patient needs to know about the availability of a given medicine in nearby pharmacies before they physically enter them? If so, are you aware of attempts to enable this? • Found a visualization of the traffic noise at facade points in Göteborg bit.ly/2ItJ1BN. Haven't seen noise data mapped in such detail before. • Location of the GTFS stops in Sweden bit.ly/2peYqwU. The diagonal between Stockholm and Göteborg seems particularly strong. • Lines inside circle and code bit.ly/2IszESJ. A drawing explains itself in a 24kB image. • Saw a self-generated graphic from a dataset describing that the efficiency of photovoltaics and offshore wind installations is expected to grow (initially much faster for photovoltaics, but then slightly faster for offshore wind, so that it gradually approaches the first over a very long time). I am reluctant to show the figure, because I don't believe that someone can project for the next 100 years, no matter how accurate they think their model is. • Compare image similarities by Euclidean distance bit.ly/2Iu4Xg0 • Pairwise element operations in a matrix via operation matrices bit.ly/2Isly3V • An inconvenient truth: understanding high dimensional data is also a function of reading ability. Before we instruct the software to parse only what we need, we parse with our eyes first to decide on this (data exploration). Each and every time. A reason why unsupervised methods have received so much interest. The only question is whether hardware decisions can fully replace human decisions and the extent to which they are available and efficient in use. • Interesting that there is a measure how well one polygon approximates another. Seeing this for the first time. • "Why do you need to study math when you have no applications for it?" It does seem like waste, doesn't it? A good reminder is that the applications don't come to us falling from the sky. They are something we have to find ourselves. By exploring wide and deep, we increase our chance to find good ones. We don't have to be mathematicians in order to apply math in the same way we don't have to be designers in order to design. • Country features as a matrix bit.ly/2pd6xdn and t-SNE applied on them bit.ly/2pdAmKU. Relatively interesting groups. At the top, unfortunately, the labels of China and India overlap. Regarding t-SNE: Better not to use it on datasets exceeding moderate size (e.g. all-time history of access logs) as it may not finish in reasonable time. • Street segments in Boston bit.ly/2pbhLit • Libraries in Copenhagen, Denmark bit.ly/2paXNnT. A diagonal walk could reach most. You can also see the street tree types with more than 300 exemplars in this city bit.ly/2Ip23cq • Garages by registered capacity in San Francisco bit.ly/2InMFNf. Most seem to be located in the Northeast. • Office buildings in Minneapolis with high source EUI bit.ly/2p9TKZ4. First time using exponential scale to bring some data points into focus. • The global innovation index next to the innovation efficiency ratio for 2017 bit.ly/2p7VySq. Also liked the graphics about the top 5 innovation clusters, said to be Tokyo-Yokohama, Shenzhen-Hong Kong, San Jose-San Francisco, Seoul, Osaka-Kobe-Kyoto. • Creative goods exports, data from 2015 bit.ly/2InxsMh. A category that I find quite important. • Visualization of the smart cities index for 2017, published by Easypark bit.ly/2ImXfo3. Not perfect, but at least informative. Even cities in the bottom 25% of the matrix score high in the categories "environment protection" and "WiFi hotspots". • Average age of the cars (in years) at different places in Barcelona, 2016 bit.ly/2IpOoC0. Although I used the same initial data, my weighting seems to differ slightly from the one used in the dataset, where the averages for each place were given (which are slightly different). For instance, for cars less than a year old I used weight 0.5, for cars one year old, 1.5 and so on, always averaging between the start and end point in time. For car ages 11-20 I used a weight of 15.5 and for cars older than 20 years I had a weight of 25. For instance, the average car age given for Barcelona as a whole in the dataset is 11.3 years, whereas with this weighting scheme it comes at 11.77 years. By obtaining the approximate coordinates of each place, we see that some neighbors have very similar average car ages. The newest cars were driven in the South (la Marina del Prat Vermell) and in the East (Diagonal Mar i el Front Maritim del Poblenou). The oldest cars were driven in the North (Torre Baró and Vallbona) and some areas in the South of the city. • If the spinner has time to make more than 3-5 full rotations, this indicates a possible problem. And if there are 3-4 spinners at different sections of the page that run simultaneously, this creates a very awkward feeling. • Do you remember the games where the player "unlocked" more features the more intensively they played? Good software doesn't have to overwhelm the user with functionality from the start. It can gradually unfold it over time, the more it is used. This way it can be adapted to current needs of the user without introducing more than necessary (frequent cause for seeking alternatives). Someone might say that this is incremental, while competitive products might be iterated much faster. But I believe that the long-term effect of having careless users is more negative compared to some loss of opportunity arising from not being first to market. Validating a concept before scaling it instead of going the other way around, must be priority. Simply increasing development effort and cost when this is not justified can quickly lead to waste. • I decided early on that I don't want to be known for my name, age, gender, nationality, race/religion or other societal "norms", often used for comparative/discriminative reasons. I want to be known only for my work. If you find this unacceptable, there are plenty of other people you can speak to. • Convex hull can be used to mark the extent to which a disease has spread. Can you think of other uses? • "Storage is not a very good business model." I suppose that it depends. If you are offering someone 5MB to let them read their email, perhaps that's not adding a lot of value. But if you provide enough storage to NASA to enable the analysis of all galaxy data, enough storage to NCBI to enable analysis of all existing genomes, enough storage to understand all types of weather conditions, or enough storage to understand highly dynamical systems, then perhaps this is another story. The result of having many businesses lack enough storage is that they can only analyse a limited amount of data, which can lead to a more narrow view of the environment (and lost opportunities to bigger companies). We already see that the most valuable datasets are multiple terabytes big and a powerful neural network on powerful hardware can extract a lot of insight from this volume compared to more manual approaches on a small machine that can't improve its data locality. But if storage capacity frequently remains unused and the storage business has no utilization plans for mining (more) valuable data, then this is a form of waste. Could be what hides behind the original statement. • An article I came across claimed that Uber and Lyft aren't providing data to the general public. I don't believe they have to. A fundamental right of every business is to not disclose things that can hurt it. Otherwise everyone would come and ask for insight and free source code to see what their competitors are doing better to earn their millions. There's no such thing as free lunch. Everyone must decide on their own what they can and can't afford to share. • Stores in shopping centers/malls also generate lots of data (which isn't public). There are many metrics they can track: costs/number of clients per unit floor space, store visitors/passing people, buyers/store visitors, sales/size of sales staff, median value of unit sold. Plenty of opportunities for people able to squeeze knowledge from the data and utilize it to plan concrete actions. But many businesses still don't know how to utilize the data they have. • Finding numbers dominating the rows and columns of a matrix bit.ly/2IixK76. A very similar idea (mentally striking the rows and columns) can be used while solving sudoku puzzles. We can "crystallize" the important, while muting the irrelevant values. For this purpose masked arrays work well, but manually inspecting large matrices becomes increasingly harder. • Saw a map with the Las Vegas traffic cameras bit.ly/2Ij3HvX ↗, but when I click on one, I get the message "This plugin is not supported". Who knows, perhaps something simple can be done to make the images appear again. #accessibility • Mobile telephony antennas in Geneva, Switzerland bit.ly/2p6cb0R. Do you think that such antennas are harmful in general? I heard both positive and negative opinions, but never saw data on the topic. I suspect that Wi-Fi radio may have the same effect, so whenever possible, cable communication is probably preferable due to the reduced exposure to waves. Edit: The sentence "Long term exposure even to small amounts of x can be harmful" may not refer particularly to Wi-Fi, but it doesn't hurt to be paranoid and consider it seriously. • Clustering teams from NBA standings bit.ly/2p6hT2R. In case you notice mistakes, feel free to correct me. • Impressed that you can take an old tree off the ground, pneumatically remove the soil from its roots and trim them to the absolute minimum it needs to survive. This method is said to be able to extend its life, but I wondered whether it could be more general. That to become once again "younger", one needs to trim some of the roots and beliefs accumulated over time. To forget about any previous setbacks and see the world from a fresh, non-judgemental perspective. • Park facilities in Boise bit.ly/2p5pcYl. Many trailheads and off-leash dog areas. Seven swimming pools, two golf clubs, one zoo. • Invitation to dinner bit.ly/2Dj9Uo0 • 60-70 thousand cars passing through a street per day means 42-48 cars passing each minute on average (on a Los Angeles street). That's a lot of traffic. Friday and Thursday appear more busy than usual, but after the weekend days in reversed order, Tuesday shows the most reduced level of traffic. (Source: LA County, bit.ly/2p868ci) • Speaking of annotation, do you find it a good practice when the labels on a metro map are rotated at almost arbitrary degrees and positioned sometimes before the point, sometimes after? I understand that where lines join there may not be enough room left to place a label, so that special rotation/positioning becomes necessary. But what about all other cases? • For fast annotation, you need to know what to annotate and how useful that might be in your software. Valuable data is usually not available elsewhere and is one that can lead to useful, actionable insights that can be implemented in your everyday work, in a given context. Delegating this work to the users means that you expect your user base to generate data much faster than you do, which for new, unproven software is unrealistic. A fast typist can generate a lot more data and in a much shorter time than many dedicated users can. The reason is simple: the typist works on the task full-time and has full control on the quality of the data, while the users come sporadically, use the app for a short time, provide optional/incomplete/tainted input and then switch doing something else. It's hard to scale your database or create anything of value when the quality of your input is so low. ("Garbage in, garbage out") Since automated label extraction already exists and tasks are often handled remotely/in the cloud, the work of the individual typist is now not valued highly enough or is outsourced for cents. But the opposite might also become true one day: once the algorithms consume all available, valuable information, more data annotation might be needed to feed their curiosity beyond that point (as otherwise they would be relying on "old" data). We already see the first signs of the wave of problems that automated data generators, chatbots and other systems have started to create. Sentences feel as if written by someone who knows the words, but is not quite capable of combining them into a meaningful sentence; music sequences are hard to stand for more than three minutes. While the underlying algorithms are just starting to appear and there is no doubt they will be improved, there is an important difference between human-generated and artificially generated data: algorithms don't have life. And it is life itself that generates our data. An algorithm doesn't even know what a plant it, because it can't smell it, can't see how long it is, what's the color of the leaves or how many there are. All this data was purely enabled through life and it needs someone to explain/annotate/codify this in a format that it can understand. It's not just life in the wider environment, but also in every biological cell, every individual, every virus. An algorithm therefore has no notion how life itself might change. Unless it is equipped with the same sensors and thinks like a human being, it would be relatively indifferent if a major flood happened tomorrow, for example. But if trained, it could eventually predict that event or incoporate the knowledge of the present into future estimates. Because there are hardware limitations (you can't store an infinite amount of data to enable infinite precision), smaller entities might need annotators in the future as well, since efficient/succinct annotation will reduce their storage costs (allowing direct expression of concepts) and enable much faster computation than at places with unclear/lax data format priorities. An additional advantage of smaller entities is that have unique information that motivates the need for such annotation. Since we have a lot more smaller companies than big, the job of the good annotator is unlikely to be replaced soon, even when the current common wisdom might point in that direction. So instead of saying "We don't need you anymore", think about some more polite ways to explain your annotator that you were happy to work with them and that you will eventually come back once your algorithm begins starving for more annotated data. • Implementing functionality noone uses is possibly one reason why more apps weren't created. Every app needs its users and not eventual, probabilistic usage. When the users don't come, app creation for the sake of creation becomes pure air. • Radical syntax changes in a programming language incur a cost to all programmers in that language. From that viewpoint, programming seems to be at a disadvantage compared to math. Can you remember when basic symbols for sum, product, integral or gradient were changed for the last time? In programming, syntax might change every month and merely staying up-to-date with such pace can be exhausting. Someone might come and overhaul the language completely just because they think it works best this way. (It doesn't.) A better alternative would have been to ask the wider community about the best way forward, not only to gather opinions, but also support for the proposals. Working to the principle "ask for apology after the fact" is always possible, but this has a universal cost. If the changes don't happen according to a checklist, but haphazardly, we risk having to work with languages which increasingly resemble collections of patches, encouraging "stick-this-here" thinking. Weakly typed languages add constructs to mimic strongly typed ones. Prototypal languages become class-based. The "function" keyword disappears and "var" gets updated to "let". How much change are people willing to endure? Are they willing to spend their entire lives learning about syntax changes or should they switch to broader, syntax-free concepts, more often described in papers? If many people chose the latter or switched to another, more stable language, future changes/additions wouldn't matter much. • There is no need to work for a salary lower than your monthly rent + consummables, no matter what "experience", "connections", "opportunities", "social benefits" or "salary raises" a company has to offer you. You live once and deserve better. If you postpone your life, you'll regret it. Sharpen your negotiation skills and learn how to deal with unscrupulous people or hidden attempts to force you into work focusing primarily on your weaknesess instead of on your strengths. If you see that after starting at a company, it gives you new, obscure technologies to learn while you can't apply what you are already best at, this might be a sign that explaining how unproductive you are was planned in order to tell you that your current salary is a bit too high. If you let others talk your skills small, you'll eventually become small. • Sad to see so many small businesses feeding the large platforms. Imagine what would happen if instead of offering your work on Ebay, Etsy or elsewhere you took photos of all your porcellan figurines and offered them on a dedicated website, avoiding direct comparisons and price wars, while at the same time making your brand more exclusive. Currently, you are one of the many; the willingness to trade conveniently from a couch costs you a small fortune. You can be known and sell many items at profit close to zero or you can be much less known and sell few items at profit you determine. Which one do you think could work better in the long term? • You can program the interface or position and adjust every single element manually. This is the difference between robotic and human interfaces. The usual excuses why the second doesn't happen: "it takes too much time", "it's not maintainable", "it's not scalable". Or "you shouldn't reinvent the wheel" when library X is available. What if everyone else is also using sacrosanct library X? How will you distinguish your work when you are unwilling to invest the hours or to go beyond the well-trampled path? CSS and web design are still about element positioning first, but not positioning in terms of absolute perfection. Anything that looks perfect is just not believable as "perfect" doesn't exist. Creating perfection programmatically is an artificial step that moves us away from the chance to appear more human. From the chance to evaluate the utility of each element, to position it manually and to examine how it relates to other elements. You probably already tried to create a complex drawing through code—the more nuanced it was, the more entangled your code became. At a certain point you asked yourself whether a painting program wouldn't have worked faster. Where a lot of flexibility is required, adding more code may not be the best approach. • "The marginal cost of software is zero" Don't know. I charge. The butterflies in front of your eyes, if you can afford that. • Used a Kaggle dataset to check how the unemployment rate in various US counties evolved over time bit.ly/2oZHfzf. Among the top 20 counties with lowest median unemployment rate, ten are in Nebraska, eight in North Dakota and the other two that register are South Dakota and Virginia. Not sure what happened in San Juan County, Colorado in Jan-Feb 1992 when unemployment rate exceeded 55%. Perhaps someone can provide some background here. • Mushroom classification: edible or not edible. Overconfidence in algorithms could be dangerous. • Perceived performance matters equally in transportation and web design. A driver can bring a person very fast from one location to another, but that won't matter much if the vehicle arrived after 20 minutes of waiting time. Similarly, you can have the most beautiful website, but that too won't matter much if everyone has to wait 2 minutes to load the heavy scripts which enable it. Drivers transport people, websites transport assets. • You can also see the locations of the trees in Mississauga bit.ly/2oWkRXG, the botanical description of the top five types and their prevalence as a percentage of the total number of trees. • Libraries in Mississauga, Canada bit.ly/2I8xQ1a. The city has also provided information about the average service time per request in minutes for all branches. Not something that can be seen often. During the short period of examination in 2017, the slowest branch had an average service time of 4.4mins/request, while the fastest had an average service time of 1.5mins/request. Many regular food stores are much slower than these mental food stores. • Strange that only two letters must be at the right place in each word bit.ly/2p0EyO7 • Thinking about Hercule Poirot and graphs, where the nodes indicate times when particular events happened and a path describes a sequence of events. That's probably a different way to look at graphs. It always surprised how he could draw a single polyline solution at the end. • Attractions in Amsterdam bit.ly/2oW7GFW. "Museum Escher in het Paleis" in the south-west sounds intriguing. Uses content from Amsterdam Marketing. • Parking places in Helsinki, Finnland bit.ly/2I926sA. Unfortunately, without current occupancy metrics. The many places make the individual polygons small and hard to see. You can zoom with Ctrl-+ and then return to the original dimensions with Ctrl-0. Not sure how usable this might be on your platform. I frequently find applications which rely on zooming and panning hard to use, but you may see this differently. • Popular books at Edmonton libraries last week bit.ly/2I6n4IL • Having trouble to select one bit.ly/2oPIIIm, so mostly relying on the production machine bit.ly/2I3G8Hw. Turns out that larger circles become increasingly harder to paint, where the blurs also aren't cheap as well. • It is well-known that Germany has traditions with beer, but I was not sure how common breweries are in USA bit.ly/2I5EOnA. According to this data, on a log scale the number of breweries is increasing in most US states. In decreasing order, the states with most breweries in 2016 were California, Washington, New York, Colorado, Michigan, Pennsylvania, Oregon. The many breweries could mean that beer consumption is also strong there. • Merged some pieces on noise pollution at the Brussel's airport bit.ly/2I3F5Y9. Good to see the noise levels in decibels at day and night. "B787-B Dreamliner requires two tonnes less fuel on average over a distance of 7000km than B767." • Monthly hotel average daily rate and occupancy, Arlington County (01.2014 - 10.2017) bit.ly/2I2fKh8. Arlington County Data API was used for this purpose, but it is not endorsed or certified by Arlington County. The normalized versions of the two patterns also exhibit some similarity, although not a perfect one. The daily rate has slightly increased over time while the occupancy has not changed much. When the occupancy was high, the rates were often high as well (and vice versa). • Total aircraft operations and total passengers at the Ronald Reagan Washington International Airport in Arlington County (normalized values, 01.2015 - 07.2017) bit.ly/2oQFSD0. A nice correspondence of the normalized values can be observed. • Monthly expenditure by department in Arlington County (07.2016 - 06.2017) bit.ly/2I68MYG. Even when nondepartmental transfers have been omitted, the diagram is still hard to describe in words. • Libraries in Arlington County bit.ly/2oT5K0O. Only few, but well-distributed. • Average monthly income per household in different regions of Thailand (1998 - 2015) bit.ly/2I2hjfh. Had to use Google Translator to understand anything. The labels of Nakhon Pathom and Nonthaburi overlap as they were quite close in 2013, but as you can see, their lines diverge in 2015. Good to see that overall this country seems to be improving. • Caltrans route performance (2014 - 2016) bit.ly/2oOIgKr • The files from 2014, 2015 and 2016 contain the words "San Bernardino", "San Bernadino" and "SBD". To check in which file the typo occured, I was using the pint() function... • Trees in Delft, the Netherlands bit.ly/2oLEzoQ • Visits and total circulation of the library branches in Delaware (2013 - 2017) bit.ly/2oK6DJc • Streets with high median traffic counts in Delaware (2007 - 2016) bit.ly/2I0M5oP. The north part of the state seems to be more exposed to strong traffic. You can also see the names of the top 30 streets if you like bit.ly/2oNABfp • Police incidents in Raleigh, North Carolina bit.ly/2I0hrM9 • An attempt to show the parks in Montreal, Canada bit.ly/2I0Ddzd. Can you confirm the presence or absence of mistakes? • Visits of library branches in Manchester (2016) bit.ly/2oPEsbE. The difference between the Central Library and the rest is staggering. • Various performance metrics about the Texas airport (2012 - 2014) bit.ly/2oMp5B6. I found the revenue per enplanement especially interesting as it is a metric I see for the first time. Hopefully the data collection process is extended so that subsequent years can appear in the data one day in the future. • Reducing the average duration of outages matters. The City of Texas went down from 84.68 mins in 2006 to 48.87 mins in 2016. Every hour of outage means that someone isn't able to do their job and depending on how many people are affected, this can cost a lot. • Water quality at 4 locations according to 3 criteria in Texas bit.ly/2oKBOnE. You can examine the parameters of hundreds of locations bit.ly/2HWrHox • Didn't know that Talinn, Estonia has free public transport, which was introduced 5 years ago (currently for native people only, but looking to make it free for foreigners too). I find this very forward thinking; someone is setting an inspiring example here. This suggests that people can meet and exchange information much more frequently, which could be an additional reason why the country is known for its innovation. No longer surprised why the free transport theme is discussed in Germany now. • "On-street car parking sensor data - 2016" by the City of Melbourne bit.ly/2HYMQPb looks interesting, but I don't have enough space to look at data, whose size is over 1.7GB. Perhaps you could extract interesting facts and present this in a short article that is easier to digest. I noticed that the column "in violation" contains True/False strings, which could have been encoded as zeros or ones to somewhat reduce the disc space requirements. When you have over 34.1 million rows, such minor details start to matter. In web design too, every single character we put on the page has to be tracked closely. With too many DOM elements there is a penalty for lax character packings. • Traffic cameras in British Columbia, Canada bit.ly/2oJKpa4 • Producer and consumer price indices for fruits and vegetables (1974 - 2017) bit.ly/2oKjB9H. Reminds me how supply and demand must cross. If someone pays too much to see their production stay long on the shelf, even at a low price, then that's not sustainable. If on the other side they pay little, but due to intermediaries or other factors their production reaches the consumer at a very high price, then that's not sustainable too. • Crime by dispatch hour in Philadelphia (2006 - present) bit.ly/2oKzltk. You can also see the most common dates and locations bit.ly/2HY6w5t and how crime has developed over the years bit.ly/2HXXsxq. Note that 2018 is still in progress. The number of cases is decreasing, which is a good sign. In case geolocation worked fine, then 8 of the top 30 addresses must be very close bit.ly/2HXa0VW • Currently, air quality seems to be good across stations in Florida bit.ly/2oIryMI. However, some more detail regarding PM2.5, PM10 and SO2 would have been nice. • Not perfect since some places seem to be missing (could be either due to missing data or due to my own coding mistake). But at least you can see most of the Pennsylvania municipalities by their location, name and areas bit.ly/2oGqdGe. One municipality may be composed of multiple polygons. After I saw boundaries only, I thought that seeing some more detail would have been nice. • Bus lines and stops in Houston bit.ly/2oH2xkU (uses two datasets by the City of Houston). Most lines describing the routes seem completely covered by stops. But some short line segments show a comparatively low bus stop density assuming that the data is complete. Perhaps such rarefaction is motivated and intentional. • Cumulative electricity usage and bills for properties of the City of Houston (07.2011 - 06.2017) bit.ly/2oHEhPD. Small notice: I removed the first item in each category ("Various"), since I thought that it is unclear what it means when it cannot be attributed to a concrete address. I wanted to create a historical perspective, but unforunately the dates across the multiple files change in format and I was unwilling to make the conversions. If you wish, you can take on the task. The City of Houston provides the data you need bit.ly/2HYDpze. We notice that there is high degree of correspondence between electricity usage and total due bills. But lets take the third and fourth label on the two lists as an example. The gap in electricity usage between the two is relatively big, but the gap in due bills is relatively small. 1001 Chenevert also uses less electricity than 4501 Beechnut #C, but pays slightly more. The advantage of showing many labels is that such relative comparisons become possible. • Street lights in Boise, Idaho bit.ly/2oHb0Vx. Individual points with brighter color correspond to lights having higher wattage. You can also see the locations of the lights with the highest wattage (top 15%). An article I've read claimed that Idaho was one of the states with highest population growth in 2017, so I found that interesting. • Population of some of the biggest cities in USA between 2010 and 2016 bit.ly/2HXbKPc. Tried to include Portland, but it showed the same growth pattern as Las Vegas, so that the two labels overlapped and I decided to leave this one out. Log scale was used on the y-axis. • Needed to restart my machine after an attempt to parse a 172MB JSON file. This is what happens when you try to describe Mecklenburg-Vorpommern's municipalities as a polygon with as many points as possible. The alternative could have been to use as few as needed, but it is hard to know after the fact which are the ones that truly matter. Shape simplification reduces memory requirements and may even prevent programs from quitting unexpectedly. You start to appreciate this when you are in the middle of an important 3D project and try moving individual vertices... • Wondering in what kind of condition this leaf was bit.ly/2HWBoDq. It's probably an extreme example, but it might explain why Seattle's fleet auction could be of interest to some bidders. • Locations of the wind turbines in Rostock, Germany bit.ly/2oHEy58 • Art organisations in Ghent, Belgium bit.ly/2oGujyg • Ghent parking zones before/after bit.ly/2HVVTA8. The same idea applied to the residence zones bit.ly/2oGky36 • Traffic at selected locations on the city ring R40 in Ghent, Belgium bit.ly/2HRP3vs • Buildings ranked by floor area in Freiburg, Germany bit.ly/2oDdUu8. Given that the dataset contains only schools the results are not surprising. What surprises is their number. • Number of tourist arrivals and tourist nights in Freiburg, Germany (1938 - 2015) bit.ly/2oBnw8S. The values for the Germans category are obtained as the difference between the total values minus the one for foreigners. If we divide the median number of nights by the median number of arrivals for both Germans and foreigners, we get 1.8839 vs. 1.5670 nights per arrived person. This means that historically seen, Germans tend to make better tourists, at least in Freiburg. But if we look at the last year only (2015), avoiding medians, the situation changes: 1.8392 vs. 2.0610. Relative to history, Germans have performed slightly worse, while foreigners have improved a lot. But it is unrealistic to assume that for such a long period all measurements have been subjected to the same criteria. • Number of walkers at 8 locations in Leeds (2017) bit.ly/2oDPZed (data by City Centre Management : bit.ly/2oEBO8P). Not sure how many times the data format has changed over time, so I tried not to look earlier than 2017. Even then, sometimes one of the columns was called "Location", sometimes "LocationName". In one case the date format was different from all other files (causing the script to break). Some dates were either missing or having "r"/"o" values. Most months had hourly measurements, while the last three had only daily totals. Such small inconsistencies made it hard to produce coherent results. Initially I looked only at the last month and was ready to confirm that Briggate registers the most walkers. However, after we normalize all months to daily totals, the picture becomes more blurry. But at least the band around 20000 walkers seems to be densest. The measurement values are said to be used for planning purposes. • An attempt to estimate the reduction in car value over time for the fleet of California bit.ly/2CsxrHj (data: bit.ly/2CqN566). The years of few disposition dates were given very far into the future (2713 and 3012) and I doubt that any car would have survived that long. The estimate shows that every 3 hours cost the taxpayer almost half a dollar per vehicle, the assumption being linear depreciation. Median car use time is formed as the median of the difference between disposition date and acquisition delivery date, converted to seconds. Chevrolet Impala LS seems like an interesting car and I wondered why so many were in the fleet. Then I went to the car maker's site to learn more and found that it was highly ranked in the publication "Consumer reports". Then went to see whether other car models get mentioned too and found that a new set of best cars was proposed for 2018 on the site bit.ly/2GRJ0WB. I expect that the final results would be membership only, but at least the proposals and the voting are public. • Found a curious fact: Leeds City Council might have to dispose its only Jaguar XJL Portfolio in slightly more than a week bit.ly/2GRvDWp (as indicated in the data from 07.12.2017, bit.ly/2CpLuxe). This probably hurts, but it shows how expensive car parks can be, especially when cars have to be used for 6 years at most. Most models have been indicated to use diesel and relatively few use petrol, hybrid or electric. Peugeout Partner, For Transit Custom 290L1 and Volkswagen CR50 Welfare Mellor seem to be the most common models. Overall, it is very common to see vans or minibuses, so I wonder whether this is specific for this park only or a practice followed by other City Councils as well. The median of all odometer readings comes at slightly less than 20000km. • Energy efficiency (£/m²/year) of some flats in Leeds in the past bit.ly/2Cr62p8. Contains information on a total of 48353 flats and uses two datasets: bit.ly/2GOXQx4 and bit.ly/2CpLVaX. Smaller points belong to less energy efficient flats. The bubble effect was not expected. • Visitors of the libraries in Leeds bit.ly/2BWpxof • Bicycle and green network in Toulouse, France bit.ly/2BRz7Jj • The municipalities of Grenoble, France bit.ly/2EY0qo3. Uses the "Les communes de la Métropole" dataset bit.ly/2BY5hma, produced by Grenoble-Alpes Métropole. I like the stepwise effect in the data, but the label positioning could certainly be better if done by hand. • Find an address in Aachen, Germany bit.ly/2EYz2q5. Quite slow, but works. If it finds the address, it will set a red point. If it doesn't it won't do anything. • Population of Aachen, Germany (official, 01.2011 - 09.2017) bit.ly/2EXC4La • Find the approximate position of streets in Halifax, Canada bit.ly/2EVCphi. Used a 46MB KML file for this demo. Initially wanted to make it an interactive SVG, letting the user type a street name to highlight the corresponding line segment within the map. Unfortunately, the resulting SVG became 16.8MB, which was still infeasible to use on a website. And since that SVG was already well touched, SVG compressors couldn't help much. Then I created a simple image out of the many SVG lines (reducing the lines opacity with the curves tool) with the idea to show only the entire line segment after the query is made. But I had to store all point coordinates in an array (avoiding a separate DB), and a multidimensional array didn't work well, exceeding the allowed script memory limit on the server. Then I converted it to a simple string to continue working on it. I noticed that most lines were really short, so this made me question how useful it is to have them inside the page when they can't be seen even with a higher than usual stroke width. Since the demo was only about approximate positions, I could compute only the centroid point of all points and substitute the many lines in the segment with a single point. • Land tax in Seine-Saint-Denis, France bit.ly/2oqNQU4 • Total capacity of beds offered by merchants in Corsica bit.ly/2BRTgPm. Includes beds in all types of establishments. • Street lights by category in Bordeaux bit.ly/2BRkQMK. Not sure what all these abbreviations mean. • Libraries in Ontario, Canada by number of active cardholders, number of in-person visits, self-generated revenue and total operating revenues and expenditures for 2016 bit.ly/2osmAEw. Has some interesting results. • Gasoline prices (including tax) for some countries (01.01.2012 - 01.01.2018) bit.ly/2oqXNRg. I cannot confirm whether this is true or false as I cannot take the Canadian view. • Copenhagen's roads bit.ly/2BTRUnn. Didn't try to color-code the allowed speeds, because I'm not sure whether the data about them is still accurate. Had to look for the function of the large empty spot, so geographically I learned something new once again. • Sports facilities and halls in Copenhagen, Denmark bit.ly/2ETEA57 • Restaurants in Berkeley which passed the inspections violation-free (07.01.2016 - 22.02.2018) bit.ly/2ETZGAd • Poverty lines for one and many-person households in Nordrhein-Westfalen, Germany (according to the new, median-based method) bit.ly/2BQvxPr • Natural monuments (mostly trees) in Bochum, Germany bit.ly/2orQed1. What happens in the middle of the figure is disturbing. Scaling could fix it, but then not all of the points on the periphery would be visible. Or they could be if the graphic is made sufficiently large, which would make it heavier. With images, whitespace often matters for the final size, which is very different from enforcing it through the use of margin/padding. • Bus network in Montpellier, France bit.ly/2BPq2Rc. You can see the names of all bus stations. Based on this, it seems that "Albert Einstein" is the eastmost station. Took some deep dive into data and extraction of relevant pieces from multiple files, composing them together at the end. Still slow and some points could eventually be removed. Since many of you seem to have liked the tube map of London, I hope that you will enjoy this one as well. • Utilization of some currently open parkings in Montpellier, France bit.ly/2oroNjx. You can also try to infer about the topology of the city by looking at its point addresses bit.ly/2BQzO5q • Impressions from places to eat/drink in Amsterdam bit.ly/2oq3f78 • It happened multiple times to me that whenever I press Enter after having filled an input field, nothing happens. On the page I am currently seeing, pressing Enter a second time submits the data (not sure why). There is also a nearby button, but I need to focus it first and then press Enter again. Not only is this less direct, involving one more action, but it also interferes with my expectations. Using a mouse is another option, but the form has to work as much as possible regardless of the input method. • Annual percentage change in per share book value of Berkshire Hathaway and S&P with divident included (1965 - 2017) bit.ly/2BUG1gK. Saw the numbers at the start of the latest annual report and decided to look at them from a visual perspective. As you have seen here before, historic data can capture a lot of detail, not just help to create great diagrams. • Events in Amsterdam bit.ly/2BPjJgn. Has some really inspiring content and it is great to see data of such quality be made publicly accessible by Amsterdam Marketing. In my case, some of the content appeared not enclosed in a tag, which limits the opportunity to style it. Each entry uses different formatting and due to the large number of items, it is not possible to account for each individual case. But I hope that you'll find it useful even so. • The PyeongChang 2018 closing ceremony of the Olympic Games was really impressive, even on screen. Thank you for making it possible and for sharing your exceptional performance with the world. Everyone who participated, sent a strong message for peace and togetherness. And that hard work really matters and is more visible than ever. Feeling pumped and trying to imagine how Beijing 2022 would extend on this theme. • How easy people can opt out from your newsletter is also a design choice, whether you realize it or not. • New strategy of some well-known websites: show visitors third-party ads, skillfully embedded within the content after every 4-5 paragraphs of text. The browsing experience is best described through a periodic pattern of jank. But sometimes you believe that the site is actually usable. • The theater in Bonn, Germany has published data on the number of visitors in categories opera, dance and spectacle. Unfortunately the data is spurious and it is simply missing for many months. For some months it was provided in bulk, which necessitates spreading the numbers across them by taking the averages. Tried to plot the data to see its pattern bit.ly/2BQyiR2. • Migration saldos within Cologne for various parts of the city (2010 - 2015) bit.ly/2or3kqU. The densest area is between 0 and 200, indicating that most parts of the city saw a slightly positive internal migration. Yet, as you can see, some regions lost citizens during all six years, where even the best performing regions couldn't entirely compensate for that. This is interesting. • Origin of the tourists in Graz as reported from accomodations (1996 - 2012) bit.ly/2ooEZC5. Didn't include all possible origins, but only the ones with the highest median values over time. Hopefully the figure looks cleaner this way. Austria without Vienna is where most people came from, with Germany and Vienna following. Italy appears before some Austrian' states, which is slightly surprising for me. • Libraries in Graz, Austria bit.ly/2BOjrGs • Hourly weather forecast for some cities in Norway bit.ly/2EPZ0fg • Number of doctors per 10000 people in Hong Kong bit.ly/2BPuAXS. Had an idea for this unusual scale. But it could be that many other countries have even lower rates. It is worth trying to understand what the reasons behind such a development are, and it probably won't work unless we can "put ourselves in other people's shoes" to see what their true concerns are. • Top 4 crime incident types by neighborhood in Saint Paul, Minnesota bit.ly/2BLuTCU and when they tend to happend during the day bit.ly/2ongjKd • Adopted revenue and expense amounts in some categories from the Saint Paul's budget (2014-2018) bit.ly/2EO5tHq. With the exception of 2017, when expenses for full time salaries and wages were very high, the two highest revenue sources seem to be able to cover some of the highest expenses. • Knew what the directions SE, SW, NE and NW mean, but never heard about NEE, SEE, NWW, SWW, NNW, NNE, SSW and SSE before. Good that such a compass exists bit.ly/2EOJgcx. Saw GPS data from cars that had these directions in addition to the geocoordinates and speeds of the cars. Perhaps this is enough to create some visual vector field, but until I try and see how well it works, I cannot say for sure. Update: Although it seems to work bit.ly/2EO0BSP, it took more than an hour of computation. Additionally, I made two mistakes. I forgot to make the points smaller (they were left at 5 pixels each) and the vector length now seems suboptimal (which I couldn't know in advance of seeing the big picture). Most vectors are barely visible and the two regions have far too much overlapping. But at least it is possible. Fixing this would take too much time once again and likely won't add much value, so I'll spend time on something else instead. The data is periodically updated, so please think about this as a snapshot in time. • Locations of the 311 (non-emergency) service requests in Cincinnati since 2012 bit.ly/2EKTfiI. Some darker spots are identifiable on the map. Metal/furniture, tall grass growing on private properties, trash/litter and potholes seem to be frequent complaints. Didn't spend time to fix the formatting. • "London property is worth more than Bristol, Birmingham, Glasgow, Manchester, and Edinburgh combined." Not surprising if you looked at the figure with the relative populations of these cities that I made a while ago. London appeared almost shockingly bigger than the rest. So different, that I couldn't easily let go of the belief that I was having a mistake. • Median avg. daily traffic at various locations in New Jersey (2009-2015) bit.ly/2CF8wf4. With lots of data, it is relatively slow to obtain results. • Between 01.1985 and 11.2017, the passenger saldo of Adelaide airport is most negative with Auckland (New Zeland) and Denpasar (Indonesia), meaning that much more people left in these directions than came from them. On the other side, most people came from Singapore (Singapore), Hong Kong (Hong Kong, SAR) and to a much lesser extent from Tokyo (Japan), Bangkok (Thailand) and Los Angeles (USA). For Sydney airport, the situation looks different. Most people left it in direction Osaka (Japan), Tokyo (Japan), Dallas (USA), Auckland (New Zealand), Los Angeles (USA), Nagoya (Japan), San Francisco (USA), Fukuoka (Japan) and to a lesser extent in direction London (UK), Vancouver (Canada), Seoul (Korea), Ho Chi Minh City (Vietnam) and Beijing (China). Most passengers came from Singapore (Singapore), Bangkok (Thailand), Kuala Lumpur (Malaysia), Honolulu (USA), Hong Kong (Hong Kong), Shanghai (China), Manila (Philippines), Johannesburg (South Africa) and Christchurch (New Zealand). At least this is what working with the dataset "International airlines - traffic by city pairs" bit.ly/2ELadxw suggests. Data is provided for many Australian airports, although there are some notes about it as well. • Comparison of passenger movements with domestic airlines at the top 10 Australian airports bit.ly/2ELzaZM • Learned the hard way that simply having files about routes, shapes, stops, transfers and trips might not be not sufficient to construct the lines corresponding to each route with the stops ordered in sequence, given their latitude and longitude (SVG-interactive). In the files I obtained, information about many stops was missing. But this data format seems to exist at many places, so it must be exported from some kind of software. Perhaps it is a matter of a setting to export data that is more cohesive. • Median sea level rise by month at Fort Pulaski (01.07.1935 - 01.08.2016) bit.ly/2CDL029. The total sum of all rises and falls comes at -52.46, while the median of these medians is -0.062. This means that during the period, the place had a net loss in water resources. • In November 2017, most flights at the Phoenix airport were served by American Airlines (14312), followed by Southwest Airlines (9828). American Airlines had its passengers wait at gates A1, B9 and A3 most often, while passengers of Southwest Airlines had to wait at gates C1, C3 and C9 most often. Both used terminal 4 for all their flights. Looking at a geometric model of the airport bit.ly/2CFhOaZ, we see that the locations of the gates at which the two companies served most often are almost opposing; the C gates are in a geometrically smaller area, which seems to have fewer dining opportunities/stores. In terms of number of flights registered, other airlines are much less represented. Delta Airlines had 1741 flights and United Airlines had 50 flights less than that. The data was provided by the City of Phoenix. • Museums in Brussels bit.ly/2CDNaia. The name "Musee du Cacao et du Chocolat" immediately grabbed my attention. Hopefully, the building can withstand the summer temperatures. • Bike availability in Brussels bit.ly/2CEbbpn • Public art supported by the city of Brussels (29.03.2017) bit.ly/2EKcfOh. Wanted to also include geocoordinates, the titles of the works and their creators. Turns out that only half of the images had information attached to them and many titles were missing. • Entry in the German Digital Bibliothek (Deutsche Digitale Bibliothek) from the last month bit.ly/2sJMGHH when I registered. Then, after watching a very inspirational trailer about Australian animal life, I wondered why it took me so long. But Gandhi's thinking has frequently touched me in a positive sense, so at some point I decided that owning his autobiography "The story of my experiments with truth" would be worth it. That was indeed the case. • Parks always seemed to help me in one way or another when I became overly emotional. For some they also serve as a source of inspiration during idea generation. So they've made the walks part of their daily routine. • Recreation visits of some national parks in USA (1979 - 2018) bit.ly/2sLmH2D. Some nice periodicity here. Yellowstone visits seem to fluctuate most. In low-activity months, Yosemite seems to be visited slightly more often than Rocky Mountain, but in high-activity ones it is often the other way around. • I have always been neutral regarding Brexit. Everyone has the right to decide after all and I think that this is great. What I am no longer neutral about is the degree to which some people think that they can serve Europeans any type of grass they like, whenever they like it. I mean the latest speech about postponing the event, given all the years dedicated to preparation—the almost one-year period given to organize the referendum itself and the years so far after that. I thought that everything about Brexit has been said before, but the theme returns indefinitely in the media. The consequences of this affect the lives of citizens like me across Europe who day after day live without knowing what to expect. In a sense, UK became the European "Trojan horse", because whether in or out, they can expect to use all advantages of that. It is hard to withstand such hypocrisy; I wonder if it would have been better if Britain left the EU immediately without even waiting for the referendum and without having time to prepare. The reason for this is simple: if someone told you you were a lesser person than they are, you probably wouldn't wait three years for them to change their mind. Such strong words once expressed cannot be forgotten and are sufficient to end any relationship no matter how strong it was in the past. On the spot. Because "saving face" is the smallest sign of any person with self-esteem. Currently I am not seeing the EU saving the face of its citizens. Instead, the EU is selling their patience by postponing and further discounts. Especially when you hear how at the back of the same people who ask about further postponement another group is still continuing to speak negatively about people from particular countries within the EU. What an arrogance! And if inaction about Brexit depends on another European country, be it Germany, France or any other where someone has interest in extending the conversation bis Sankt Nimmerleinstag, I would happily ask to see their exits as well. Because no decision can be final as long as the cousin of one arrogance remains within the Union... • "Crowdsourcing is more effective, because many ideas are accumulated, cheaper, because you don't have to pay and more efficient, because it gives you an external point of view." Well, if the percentage of companies which crowdsourced work the last year has become that big, they should not be surprised for not getting the results they wished for. Good results that involve other people and their time have to be earned and there is no exception from this rule. By crowdsourcing, your company actively signals your people that they don't matter much, potentially hiding the need for contracts or other taxable activities. With so many insidiuos people, it's no surprise that crowdsourcing is growing. • Have you noticed how locally-created, handcrafted data, limited only to the features you need in your application is much faster to compute with compared with the data you obtain from external sources, which have much more than you would ever need? The difference can be significant in terms of computation time: the first might take you only a couple of seconds, while the second enters the minutes category. (Working with lots of data is not fast in general and producing graphics is even slower.) It is also not hard to see some genius usage patterns based on this, where people define only a couple of variables and skillfully change their values within a loop, avoiding array pushes and still achieving their goal. Such high-quality work is a pure pleasure to see. Also reminds me of the pruning strategy described in the dictionary of techniques. • An idea worth remembering: instead of placing long labels next to your data points, you could place numbers and indicate in the legend which number corresponds to which label. This may reduce label-label and label-point overlaps, making your graphic cleaner. But even this won't work with too many labels/label categories. • I often read seemingly unrelated things, which some people would accuse me that they do not have a lot to do with programming or design. But it is hard for me to enoy the company of pure programmers, who beside reading and writing only code in some languages plus knowing some frameworks have neither time nor understanding or interest for much else. I wonder what such great programming skills are for when people have no understanding about the contexts in which they are good to apply. Or wait for someone else to explain how their skills should be translated into products. In my opinion, good programming is as much about working with clients as it is about being self-sufficient and still generating work (preferably that matters) when the clients aren't there. Many companies seem to be interested in creating "dedicated", one-sided people, since this allows them to gain some efficiencies. But I always felt that this interfered with my work and made me dumber over time. (Turns out what is good for companies is moslty bad for me.) So I force myself to read unrelated things, which is why you see the hundreds of bits on this page after all. The more multi-disciplinary I can make my own thinking, the better and more empowered I feel. Which then seeks the next form of expression, either here or elsewhere. • If in the electronic age you find yourself filling 8-page formulars by hand, then something is ripe for innovation. • How often do look at your access logs? All logs in their entirety, not just for the current month. Do you know how you can see a global graphic, related to the entire period and not just one related to the current month? Writing 20 lines of code to parse the logs and organize the information in a way you want to see it is not that difficult. And understanding who your customers are is more valuable that looking at the noise that most robots generate. • Triangle overcomes an obstacle bit.ly/2EVmyhL. Would be harder on a full vertex stomach. • As an author, would you charge both the transmitter and receiver of information shared by word-of-mouth? After all, this is another form of copying, which directly influences the sales numbers. • Another option is showing fragments of the book online, including a nearby link to purchase the book in case the reader wants to know more. But this option won't work for everyone, because it requires a machine and experience in using it, Internet connection and the willingness to stay long hours in front of the screen. This is why the function and place of the libraries is so important even today. They ensure that any person—the socially excluded, the lonely, the homeless, the illiterate, the disabled, the ill—have access to knowledge that spans into new worlds, capable of positively impacting, perhaps even changing their lives. If an author believes that someone's last hope to change should be taken away from them, they are free to proceed. But raising the lowest bar instead of expanding the pool of available knowledge and intensifying its spreading seems counterintuitive to me. • Sad to read about a new public movement against libraries with the goal to have them pay the author every time their book is borrowed by a reader. Some authors expressed concerns about readers not acknowledging their rights, copying their books after borrowing them. This is of course illegal and does true harm to the authors. But I cannot support a model that attempts to punish all readers, just because few were acting bad. I believe that the libraries have a social function and need to be as open as possible. Authors who give a book to the local library also express their agreement with this function (that is, beside other things they also choose to serve and contribute, which is of highest honor); if they disagree, noone could blame them if they took their work elsewhere. Or maybe even sell it online through their own channel. If the libraries were charged per book borrowed, this could transfer the costs to the readers, making reading itself accessible only to a more limiited audience. Having readers pay proportionally to the number of titles they borrow could reduce interest in reading overall. At the end, this would affect the authors, because fewer readers in general would mean fewer readers specifically for their books, fewer chances to spread the word and to get known. To get known through the quality of work and not through the loudness of voice. • "NYC street trees by species" bit.ly/2EVDgOb ↗. Beautiful, scalable and interactive. • Speaking of busses today, a person no longer among us used to say that it's important to ensure that the right people are on the bus and that they are on the right seats. Unclear how many drivers are actively thinking about this. • When serving and deserving intersect, all sides can be happy. Some people call it a "win-win" situation. • If you are waiting for someone to knock on your door, you aren't really looking for professionals. • Daily bus ridership by route in Chicago (01.01.2001 - 30.11.2017) bit.ly/2BH8GGe. The sudden line that builds towards the end of the period might indicate that either the measurement methodology has changed or other bus lines which were previously missing have started to appear. We see that bus line number 79 has registered the highest median ridership, having almost 4000 travelers more per day than bus line number 9 (the second on the list). You can also see the special case of a line fit to the data points of bus number 79 bit.ly/2C94fEP • Finding combinations of ingredients based on good pairs bit.ly/2C6E2a9 • Sometimes you need an entire process to apply the correct sequence of regular expressions to transform the data to a format for further processing (still at it). Although regexes can be hard to design and debug initially, you might find that the time investment is worth it once you consider how many hours of typing and editing this saves you. • Some of the world's biggest libraries ranked by their catalog size bit.ly/2C6mScL • Car auctions may have many car models on offer, which in case of no interest, start to take lots of physical space (there is a need to keep inventory low in general) and rust over time. The more cars potential buyers can see, the less interest they can show in each additional one. (Rust is scary too.) From the seller's point of view, the right application can make the sales process smoother, so that the time between the arrival and the sale of the car is minimized. From the client's point of view, it can be helpful to arrive with a good understanding of what one is looking for. For instance, if you look at the Kansas City monthly car auction, you can set your filtering criteria to see only more recent cars instead of going through the long list or hoping that your physical presence will help you decide bit.ly/2BAJUY3. As you can see, we still have no information about the mileage, but now there are only a dozen of cars we have to look at instead of hundreds. The more information you have upfront, the more informed your choice can be. • An attempt to show some vehicle average speeds in five boroughs of New York bit.ly/2BA9yfq • Nature of the police deparment phone calls in Jersey City (01.01.2014 - 31.03.2017) bit.ly/2ByO9n2. The streets from where most calls where registered were Bergen Ave (17047), Central Ave (14603) and 7th St. (12605). • Parks in Vancouver by area in hectares bit.ly/2ByGvsJ. Looking at the points, I clicked on Stanley park first. You can also see a model of the parks in Jersey City bit.ly/2BwIT3n • In the titles of works associated with Shakespeare, which were produced between 1564 and 1616 and kept in the British Library, the word "Denmark" appears 17 times. I think I only encountered it once while reading in my younger years. • If you can get your function right, you can draw things from points bit.ly/2C4j0cg similarly to the beautiful, animated figures you saw in the sky at the Olympic Games opening ceremony. It won't look that good, but at least your overhead will be low compared to sending thousands of drones in the sky, controlling their behavior in real-time, accounting for wind fluctuations and ensuring that not a single one falls due to a depleted battery for the duration of the entire performance. • A single loop iterates three times to compute variance, skewness and kurtosis for a given numeric sequence bit.ly/2C1wghD • Gov.uk has published a report on smoking bit.ly/2o5lm21, containing the following infographics bit.ly/2C2FHNT about smoking prevalence among Europeans. As you can see not all Europeans are as lucky as UK and Sweden. But that well-intentioned friends beat strangers in how harmful their help could be to your child's health, this comes as a lightning strike. Sufficient to make you want to review your child's friends list. • When adults over 40 were asked whether they had any near visual impairment, considering all responses across all US states, the median of the confirmation rate comes at 36% (Source: bit.ly/2Bxvyrs). Scary number and possibily implication-rich for many web and visual designers. • Average kWh per customer per day for suburbs of Sydney (2009 - 2015) bit.ly/2BwfAh9, according to Ausgrid. The company changed the methodology significantly in 2016, so these results were not included in order to avoid playing with fire. Still, the trend towards reduction in the consumption of electricity look positive in the region. • Air quality measurements in Port Augusta, Australia (03.01.2017 - 01.01.2018) bit.ly/2o2r2tz. I left a couple of quite extreme values out of view for the first two figures as I suspect that they might be due to incorrect measurements (in the first month the sensors seem to have needed some calibration time). If you look carefully, you'll see that some points are ordered almost as bars. This could means that some high values were not only quite similar, but they also occured close in time. The interval at which the measurements were made was one hour. • Free Wi-Fi locations in Grenoble, France (15.01.2017) bit.ly/2BvN7YM. The author of this dataset said that they are open to improved localization. Perhaps (if you live in this city) you know what could be improved. • Visitors by library in Grenoble (2008 - 2016) bit.ly/2sxdV8m. Two libraries were not included, since one was having a label, but no measurements and another one had measurements, but no label. We see that in more recent years, Bibliothèque Centre Ville had slightly more visitors than the Grand Place. As you have learned already, most libraries still continue to be worth visiting despite the claims that Internet has taken their place. And they are often very interesting places to lose yourself. Holding a printed book is quite different from reading on screen. If you have the chance, take a look at a place close to you. • Parking places in Grenoble, France bit.ly/2C0olkJ. Expected to be able to fill some polygons to see areas, but only lines were provided. Attempting to construct polygons from two individual points (assuming they are top left and bottom right) resulted in a wrong visualization. But at least I learned not to attempt plotting the data as polygon unless its type has been explicitly specified so. • Street light locations in Zürich bit.ly/2C2aZod • Some subareas of the state Nouvelle-Aquitaine, France bit.ly/2o0279U • Tourist bike paths in Jena, Germany bit.ly/2BxFHoe. Most subpaths seem to be accessible from a single, main path. • Nice visualization of the current air quality in Hamburg bit.ly/2BwGJkl • Remember that if you need someone to work on your project, you can always visit my contact page. • Coordinates of charging stations for electric cars in Hamburg, Germany bit.ly/2BZMAiW. This represents only the biggest cluster, but there are more stations on the periphery. Couldn't include them all, because this would make the individual points indistinguishable. Hopefully, you'll still find the updates useful. • Air quality at air stations in Minsk, Belarus (2008 - 2015) bit.ly/2Buo8VQ. Approximate only as some values were given as "<0.5" or ">0.5". • Landslides worldwide bit.ly/2BWH3tH. Avalanches also seem to fall in the same category. But sometimes you decide that you can't wait for hours for all historical data. • Hub height and total height from some wind turbine proposals in Aberdeenshire, UK bit.ly/2BXEebH. As expected, the total height is slightly shifted to the right, but it was nice to see how the distributions overlap. • Street lights in Dundee, UK bit.ly/2BXqWvF. We can see where the most consuming ones are. The lights labeled "INDO PLLS", "Designplan Quadrant LED" and "Urbis Albany LED" were not included in the graphic as they didn't have their wattage specified. Yet they make only 0.37% of all (25049) existing lights. In case all were turned on, this would consume ≈1.765264MWh. • Comparison of the average number of underground journeys per passenger in London and Glasgow (1982 - 2016) and the average miles per passenger bit.ly/2BZB7QE • Pharmacies and medical facilities in Prague bit.ly/2srZ7b9 • Average and projected forest fire danger bit.ly/2BYz6E8. Source: European Environment Agency (EEA). • Average domestic electricity consumption in Kingston upon Hull, compared to England bit.ly/2stJOi3 • Green roofs by area in Amsterdam bit.ly/2BXOeBO • Parking place utilization in Amsterdam bit.ly/2sr754l • Merging data pieces from separate, fictive sensors into common observations bit.ly/2BT3XSs • Found this nice CPU-GPU comparison of capabilities bit.ly/2BprvgH • Element-wise multiplication of two 10000x10000 matrices (A[i,j] * B[i,j]) filled with random numbers from 10 to 100 ran in 3.176s in C# (best of 3), N/A in pure Python and 1.542s in Numpy (best of 3) on my machine. Ahtough Numpy is surprisingly fast, some libraries building on top of it still deliver N/A. • Learning from UNESCO's Transparency Portal bit.ly/2Bpu7et • Have you checked latest Chrome? Has a great new function for restoring accidentally closed tabs. Wanted to press Ctrl + T and type the address again, but pressed Ctrl + Shift + T and this made the closed tab reappear with its content again. • Spirals in Vega20 (colors scheme) bit.ly/2Bnim8p. You can also see the math specifics used to create them. • Mixing four types of coffee programmatically bit.ly/2BWoYf8 (some people like to drink mixes). "Java is a type of coffee from the island of Java, Indonesia". I knew about the island, but not about the coffee. And I neither drink coffee, nor have I found myself write in Java. But the elegance of C# code and the helpfulness of the compiler have started to speak to me. The long screens of cryptic and hard to read errors in C++ and Python mean that it takes a lot of time to simply decode what went wrong. Yet, I haven't found a way to scrape content from the web with C# so far—getting an error that a DLL is missing where my platform isn't Windows. But I noticed that C# tends to perform well with frequent compilations of relatively small programs, which is desirable when testing small algorithms and gradually scaling them to large input sizes. • Gradient path in 8x8 matrix bit.ly/2BReRZ9 • Projected cancer prevalence by state and sex at all cancer sites, all ages in USA for 2017 bit.ly/2BjIlxE. The year has already passed, but the visualization could still be interesting. • Married and never-married people by neighborhood in Vancouver bit.ly/2Bkkuho • Chicago buildings energy performance (as of 08.02.2018) bit.ly/2BQehL3 • Chicago traffic congestion by region bit.ly/2BPvd4l. Note that this reflects my own understanding of the data. • Enplanements at the top 50 U.S. airports in 2016 (comparison) bit.ly/2BN8LJ2. I was not able to zoom the map on the right so as to see all circles on it. At that scale it has many overlapping data points. The image on the left has fewer overlaps, but is not feature-rich (missing map, no color). You can also see a bar chart that gives another view bit.ly/2BQQY3T • Europeans in risk of poverty and social exclusion (08.02.2018) bit.ly/2BjT4YQ • HIV prevalence in selected countries (ages 15-49, 1990 - 2011) bit.ly/2BjfCc9 • Wind characteristics at three locations in San Francisco area (2009 - 2016) bit.ly/2BPDsxp. Selected Warnerville Switchyard (Oakdale), Pulgas Reservoir (San Mateo) and Pier 40 (Pier 40) out of the many options, because they had data for most years. Made the mistake to attempt converting the times to datetime objects after which my machine became too slow and then failed at that operation once the datetimes containing the "?" symbol started to appear. Since the goal probably was not to know the exact times, I decided to visualize the whole as a long time series sorted by year and the order in which the information was provided in the files. The data has been collected at five-minute intervals. I cannot compare with the rest of the stations, but it seems to me that Pier 40 has registered good wind velocities by relatively constant wind direction. • Energy efficiency of some facilities by building category in San Francisco (as of 16.02.2016) bit.ly/2BhliUa. You can also see a visualization of newer data on the energy use intensity of some hotels, offices and retail stores in San Francisco (18.01.2018) bit.ly/2BmAOhk. Didn't expect that I would be creating buildings from buildings. • Schools in San Francisco by grade range bit.ly/2BkBp3p • Finding the inventors of selected inventions bit.ly/2BNnPpZ • VBB routes in Berlin bit.ly/2skabXy. Said to be valid only for the last year. Quite noisy since every route received its own color. Took some time to compute. • Phone calls to the 311 system regarding missed trash collection in Washington DC in the last 30 days (08.02.2018) bit.ly/2sjwBbq. You can also see the locations of all service requests during the last month bit.ly/2sbWrhq or of all requests since 2009 bit.ly/2EqPLRx (you may need to zoom). • Loan modification seems to be a very frequent complaint customers have about some banks. Mortgage, debt collection, credit reporting and credit card are the top product categories where customers complained, to a slightly lesser extent about student and consumer loans. Source bit.ly/2EqhtxN • It makes me happy to see small cities (like Buda, Texas and others) transmitting videos from their City Council meetings and other public events to inform everyone what's going on. In many big cities transparency is either often missing or an afterthought. • t-SNE on DXOMark digital camera data bit.ly/2EopMdD • Finding the routes of departing flights at LaGuardia airport at the morning of 07.02.2018 bit.ly/2EnBdSR • Seeking information about the route from Frankfurt/Main to Berlin led me to this map on DB's website bit.ly/2EpY1Bm. At least I don't need to plot that path now (like I did once before), but it is surprising to see a map with so much noise. Should secondary routes appear in saturated red? • The pushAll() method in JavaScript reminds me about array_push() in PHP, extend() in Python and emplace_back() in C++. I wouldn't even think about consistency. • A dot-line plan for the week bit.ly/2sfHHhB • Tetromino mapping between boxes bit.ly/2BHDZBr • Do you set the "async" attribute on your "script" tags? This might be useful in certain cases. For instance, if you want to prevent users from accessing your "subscription only" content. When you send many megabytes to them and consult many third parties, your "until here" popup message may take a while to appear. During that time, anyone who has loaded the article content entirely (but waits for the ads), can press the Escape key. Now your script won't continue executing, so your popup message won't appear at all. These might seem minor things, but they make an impression. • Do you read master theses now and then? If not, you probably missed things like this hive diagram bit.ly/2BdEdiw • Center of mass for multiple masses bit.ly/2BJF0Jh. Beautiful formulas always deserve a demo. If we increase the mass of a point, it starts pulling the center towards itself. • I like the idea of subtle gesture control more than voice control to manage devices in a home setting. Voice can irritate people like me who try to stay focused most of the time, repeated words lose their meaning or produce noise, which doesn't follow the least interference principle. Imagine someone is sleeping while the TV is running and you issue a voice command to turn it off. I hope that we'll find ways to decrease the noise rather than increasing it, but it very well could be that these technologies improve beyond recognition so this is no longer an issue. • Wondering why someone would detect snowflakes in an image. Perhaps they installed a sensor to detect movements outside and they fear that the snowflake might pass through the box and fall on the processor... There must be some case for the kind of worry you associate with a snowflake when you choose to track it, be it visually or not. Otherwise it would be doing it, because it's cool. • Still remembering from my short visit in Germany (because now I consider it this way) how I was trying to use Excel and Typo3, mostly failing and crying. Either I couldn't understand what the CEO wanted or he was incapable of explaining it. Most of the things I heard during my first two weeks had the nature of constant yelling. I wasn't alone there, but this behavior somehow seemed to impress me most. After two weeks I could no longer endure it and left. But it brings back these memories whenever I see that in 2018 German companies still hire for that thing called Typo3. I hoped to stop looking at its face, yet it insists advertising itself to me directly bit.ly/2nJ3R6l. Needless to say, you won't get the chance to hire me for Typo3 work anymore. • "We are hiring" sends the specific signal that your company neither cares who they hire nor how. The only thing that matters is hiring cheaply, since you've let ten people come at the interview at the same time, asking them about their expectations, with the full knowledge that they'll have to underbid each other if they want to get the offer. Your job is to make as many people as possible willing to make themselves comparable (and cheap). Unfortunately, with this mindset, you'll never see me at your interview (I neither make myself comparable nor cheap). If your company can't prove that they need exactly me and not someone else, then being there is not worth my time and skills. If you aren't already chasing the star performers in your industry, this makes me seriously concerned about your future and the stability of your company. Who wants to work at a place that may not exist two years from now? And why should a random person even care about your company when the cost of sending you an additional CV has fallen below a cent? Continue to hire the way you do. • CO2 emissions in 1000 tons from primary energy consumption (German provinces, 2014) bit.ly/2nIvqg5. Back then, Nordrhein-Westfalen seemed to need a lot of improvement, especially in the brown coal category. • An attempt to understand the demographic picture in Munich bit.ly/2DYS8eW. Omitted the translations since these are not interesting to me (I understand German too). • Gloucester City Council expenditure by expenditure type between February 2017 and December 2017 bit.ly/2nIy85l • Comparison of daily electricity consumption at three different places in Glasgow (01.01.2013 - 12.05.2015) bit.ly/2nJ02OK • Made another demo on parking place utilization, this time for car parks in Glasgow. Unfortunately, after the fact I noticed that it won't work on this server, so I recorded a video instead bit.ly/2E1hvNj. Currently "Concert Square Car Park" is busiest with 88.8% utilization. • Looking at a contour plot and thinking how it could be useful to describe the extent at which an earthquake is felt at various distances from the origin, attaching a value to each bounded area. I associate this also with kernel density estimation. • A picture could be: a yellow tape along the door frame with the black label "Keep it clean Keep it clean Keep it clean...". Above the door a big circular hole in the wall, an arrow pointing to it and its description "Throw junk here". Below the picture, the unique selling proposition: "Solving most of the household's problems at the entrance". • Wrote a small script to see which graphics cards are good at memory bandwidth per watt-price (on the Kaggle dataset). Correction: I made the mistake to forget normalizing the values first. Now the various models of Radeon RX 480 8GB, each offering 256GB/s bandwidth, move to positions 4-8 instead of 11-14 as mentioned previously, while the 12GB "Titan" labeled cards, offering much higher bandwidth still appear almost at the end of the ranking. As before, see this criteria only as personal preference rather than recommendation. • You can count how many people walked over a particular location at a store/event and then create a heatmap showing the places of highest interest. I suspect that central locations or common paths would be red most often, yet this can serve as a relative measure for the interestingness of other locations. Also nice is that no personal idenity data is collected this way. • Amazon numbers from quarterly financial results (2014 - 2017) bit.ly/2nDZwBH • Canon sales by region (2008 - 2017) bit.ly/2nEUrZD • Learning from ships operating at the port of Hamburg bit.ly/2nCirwF • The median time to resolve a 311 service request case in Boston between 01.07.2011 and 31.01.2018 computed to almost five hours. Most requests came from Dorchester (175193), Roxbury (105398) and Allston/Brighton (84986). The most frequent locations were 1 City Hall Plz in Boston (2037), various streets/intersections in Downtown/Financial District, 139 Tremont St in Boston (352), the intersections Berkeley St & E Berkeley St (301) and Columbus Ave & Dartmouth St (282) in South End, the intersection Brighton Ave & Harvard Ave in Allston/Brighton (300), the intersections Massachusetts Ave & Newbury St (298) and Massachusetts Ave & Huntington Ave (288) in Back Bay as well as 835 Huntington Ave in Mission Hill (274). Here you can see a map of all service requests during the period bit.ly/2nAeAjx (high-frequency areas are darker) or the median duration in hours by case type bit.ly/2nDTu42. • Counting occurences after bin fitting of values bit.ly/2DSrp3P • BogoMIPS/Mhz for some old CPUs bit.ly/2nz0n6o • An attempt to detect the corners of a wind turbine in an image bit.ly/2nwmFFW. The FAST algorithm picks up noise to a varying degree and now we have to find another algorithm to remove it... Photo by Johny Goerend. • When someone sends a GPS-trackable package, they can see the trajectory which it follows and identify any delivery inefficiencies which would increase the least squares deviation from the straight path and thus increase the delivery time. The receiver of the package has the right to know where it is and not just see when it arrives at given points (like post offices). If data is captured only there, any delay experienced between two stations would remain intransparent to the recipient. • Tracking the trajectories of six Columba livia pigeons over time bit.ly/2DSSbJt. I expected to see more random movements, but it seems that the pigeons frequently returned to a place they preferred (possibly the location of release). Some lines seem to overlap, which means that they moved through the same route more than once, which is interesting. Also see the original description of this Movebank dataset, which contains data about 35 pigeons bit.ly/2nxMpll. What this attempted to illustrate is how we could map the trajectories of moving objects, animals or people. • One advantage of sticking the code to the result is that when the browser updates and the result disappears, the code is still there, fail-safe and waiting for someone to be adapted. Expecting the creator to rework the same small demo repeatedly, independent of creation date, whenever needed, is asking too much. Every creation lives in its time and timeliness of appreciation is the only support it gets. • Trying to make sense of the data found in the book "Scale" by Geoffrey West led me to create this plot "Equivalence between earthquake magnitude and tons of TNT (log scale)" bit.ly/2DRcjvs. Especially enjoyed the comparisons and how different scale exponents were assigned to different entities/organisms in life. Despite seeing only a fragment of the whole book, this alone is enough to recommend it if you haven't seen it. • Notice that I never claimed that any of my work is error-free. Look at it with a degree of scepticism. It is just the type of work I could do at that particular moment, under some specific circumstances, given some specific knowledge/skills/understanding. I am sure that you would be able to pinpoint some of my mistakes if you looked carefully enough. Is this reason to stop trying and improving? I don't think so. Everyone makes mistakes, but we have to learn from them and still move on. • Street segments pavement condition index scores in Palo Alto, California (2013) bit.ly/2DT8gOY. It would have been nice to learn how the condition has changed since then. • Disc bit.ly/2nrTTq4 • Number of business days between two dates: print(np.busday_count('2018-02-02', '2018-02-14')) # 8. Looking at the calendar, this doesn't seem to include the end date. In cases you hear that something will happen "in fifteen business days", the current date is 05.02.2018, and you wonder when the end date will come, you can use print(np.busday_offset('2018-02-05', 15)) # 2018-02-26 • Weighted average to select a service provider based on past experience bit.ly/2npkJPy • LED street lights by their wattage in Mountain View, California bit.ly/2npNUlp. Lights shining stronger are very often placed at road intersections. • "You made it" from the new public art dataset by the city of Vancouver bit.ly/2DLbp3l. Although I never knew what "it" refered to. But it looks nice. • Thank you for kernel 4.15, whoever and wherever you are. • Using morphological operations to see further bit.ly/2nndZBN • Observing sample image data in the form of a 3D cube bit.ly/2no5u9l. Some interesting "dotted lines" here. • The tallest buildings in the world in a bar chart bit.ly/2DJZoLH • Jobs by the city of Ottawa bit.ly/2DHpMpm • The most common tree types in Ottawa, Canada bit.ly/2nnh9Wi. Still finding new types. • Median apartment rents in different Singapore towns (Q2 2005 - Q3 2017) bit.ly/2nn1tlU. It seems that the higher the number of rooms, the more the median rent varies. We can also see the distributions of the median rents for each town/region bit.ly/2nl5jvM. Now it becomes visible how much higher the median rents for instance in the central region were compared with the rest. Data about Lim Chu Kang was not available. • Had a strange idea, but it didn't work out as expected. Generate 12 sequences of numbers that have similar within-sequence values, but very dissimilar between-sequence values. Shuffle the entire matrix to destroy the structure and apply Independent Component Analysis (ICA) to attempt separating the original sources. What this gave me was a block-matrix with most values negative and only some positive, slightly over zero. Not sure how to proceed from there and whether I used the right tool for the job. I expected to see some indices which tell me which values belong together. Here is what I did bit.ly/2nhWoep • If reading a lot of data is often less time-consuming than writing it (I/O), would you say that receiving data via Wi-Fi would be less energy-consuming than transmitting it? Once you see the numbers, you start seeing the hints. • Some time ago, an article mentioned that when trains arrive >6 mins late, DB considered them overdue. I was wondering why exactly this number. A recent reminder about the concept of a band and a given number of standard deviations around some mean led me to believe that 6 mins could be somehow connected to the mean of the data they have observed, placing the two dotted lines at mean+6 and mean-6 accordingly. This would mean, at least visually, that if a case is crossing the dotted line, it is considered extreme—with the observation having the nature of an outlier. But, of course, I can't really know, so this is only an assumption. • Covariance between the individual channels of an image bit.ly/2DGkOt4 • Speaking of hygiene, someone mentioned that good payment is merely a hygienic factor for workers. They see it as the most basic requirement when deciding whether to stay in a company or leave. But too often, companies aren't keeping even this elementary hygiene level. The results should not surprise. • Food hygiene ratings of restaurants, canteens and cafes in Brighton and Hove, UK bit.ly/2ni5ZBZ • When someone recommends using Qt5 with a resource-constrained, embedded device, a picture of an elephant trying to walk-balance on a rope appears in my mind. Could be very well possible, but as always I never stop questioning. • Didn't know that Paris was flooded. And yesterday I was plotting fountains. • Comparison of specific attributes from the specifications of three models Phillips 4K TVs bit.ly/2DHVPFJ • Water quality sampling locations in Austin, Texas bit.ly/2DEumVF • Austin traffic cameras bit.ly/2nb0vJ2. Some of these may not work. Please, make sure that you load only the cameras you need to ensure that the page remains functional for everyone. • Electricity consumption by end uses in residential/private housing segments in Hong Kong (2005-2015) bit.ly/2DCluQ1. Uses sheet 13 from this Excel file bit.ly/2DDPnQ9. From sheet 1, we can create this figure bit.ly/2ncKRNw, showing how energy end use per capita has slightly decreased over the period, which is in contrast with the demands at many other places in the world. • Fountains in Paris by type bit.ly/2DDO43M • A map of the buildings at the University of Southampton bit.ly/2nc4Dsl. Once you see something like this, you qucikly realize that universities with more than ten buildings perhaps need to have one too. • One thing I find disturbing on some websites are the default counters which wait for my action to start spinning at high-speed. • Having plants transmit Wi-Fi signal from their leaves? Not sure when this might happen. But an article on solar windows (in IEEE Spectrum) shows that some installations are already happening. • Document entries about land units sold in the most popular UK locations (since 01.01.1995) bit.ly/2DzTmNA. I used the term "document entries" here, because due to four errors in the dataset, I was not able to properly include the information about the additions, changes or deletions that would give a more accurate number how many units were sold. Using the same data, we can see which years these entries refer to bit.ly/2DBRiVx. The period 1997-2007 seems to have been the most intensive regarding land sales. More recent years like 2017 reach only 62% of the peak values achieved in 2002. You can also see how the prices paid have varied in many of the UK cities over time bit.ly/2DEijHF and what the median prices were bit.ly/2DA6ySw (preserving the original order). As you can see, some cities registered less transactions, but the median price paid there was higher. • Road network length per unit area in Denmark's provinces bit.ly/2n8FGOn. According to the data, Københavns omegn is the second-smallest province, but has a comparatively long network of roads. • Someone animated a transformation of a doughnut into a cup bit.ly/2n7vI01 • Net price index in Denmark (1980-2017) bit.ly/2DE5jle • Incidents by hour of the day in Minneapolis, 2017 bit.ly/2n4Ldpj. The data has been binned twice: An incident that occured, for instance at 15:18 was added to the bin 15:00. Then it was noticeable that most incidents happened after 17:00, but there seemed to be a small difference in the hours before and after 20:00. The total number of incidents between 17:00 and 20:00 was 8% lower than in the time between 20:00 and 00:00, which suggests that late hours are more incident-rich. You can also see the locations of the incidents, colored by type bit.ly/2DAYd1e. There seems to be a long street, a large and a small spot, all having above average incident concentrations. • The property taxes of 114283 buildings in Durham for 2017 are known (see Durham open data site), which gives us the chance to see how strong the relationship between total asset value and tax bill is. The correlation coefficient came at 0.66295, which is fairly positive. At the same time the median tax bill was 1.3464% of the total asset value. • On "owning your content" bit.ly/2Dxo2Pq, via @swissmiss • My attempt to initialize a relatively large vector of tuples or structs in C++ didn't work. This caused close to 100% CPU usage for quite some time, while memory stayed at ≈55%. Not sure what the reason behind this was; reducing the tuples to a much smaller number worked. An old C array of strings (2D of size 47000 x 4items) also didn't work, which was slightly disappointing and forced me to temporarily switch to Python. Do you have an idea what I am missing in this case? • Saw very interesting graphs on the divergence between corporate profits and wages, which makes me even more reluctant to work first and think second. Possibly explains the motivation behind the jobs page as well. • Had the idea of computing betweenness centrality of New York's landmarks (pandas), but the number of combinations of more than 47000 items (itertools) together with storing the heap of the distances between them (heapq) with the goal of inserting edges only between the closest nodes (networkx) was still prohibitively expensive on my machine. Update: Made some small progress, though not to the extent I wished. Used random sampling to pick 2000 landmarks at random, constructed a graph and then computed the betweenness centrality in this case. To my surprise, most nodes had a value of zero, with only a single one having more than 0.99. By obtaining its id, I saw which latitude, longitude and address corresponded to it (40.665555, -73.974954, "95 Prospect Park West"). Then, viewing this location on a map revealed that it is almost at the middle of a very long street that is passing near a big park in Brooklyn. Even only with 2000 landmarks, the computation still took some time. Yet, using all landmarks would have been much more interesting... We can also do something else: find the landmark whose sum of distances to all other landmarks is minimum. This gives us the concrete address "464 Grand Street" at (40.715430, -73.983718), which is near the Williamsburg Bridge. (The next two locations are the numbers 513 and 511 on the same street.) This means that someone living nearby would be closest to a maximal number of landmarks, at least on a straight line. Finding places that are central in some sense has applications in store/facility location, investment decisions, customer acquisition and other areas. • Had intention to move this idea bit.ly/2DwLXi4 forward, but realized that dealing with interfaces is perhaps not the best use of my time (see below). • It's really hard to return to defining variables by preceding them by a dollar sign (PHP) once you have worked with Python. Shift + 4 is an awkward key combination just to define or refer to a variable. Additionally, if you still remember what I said about code bumps, it is fully applicable here as well. The more often we have to use such key combinations, the more tiring it becomes. Then the question arises whether we could have used our time better elsewhere. The speed of testing user interfaces is another critical point that can make writing code feel unnecessary slow. Especially when we consider that today's software has become so complex that using only a couple of input fields is no longer sufficient to capture its complexity. Using a form filler to generate fake data at scale means that the programmer himself will have to track long sequences of nonsensical values while trying to decipher which of them relates to which field. And the more values there are, the more likely it is that at least one will be missed and the script will break. The alternative is to rely on autocomplete in the browser, while typing all values manually, which while providing a better context is even slower. • When working with/for other people, payment is the minimum viable thing that should excite me. If this condition evaluates to false, we may not even meet, let alone speak. • Like most previous years, 2018 will be again the year of the people. Not the year of the processors, the Spectres and Meltdowns, the Bitcoin mining rigs, the 600+ watt GPUs, the huge data centers and the companies who spend their last cents in infrastructure, while wondering why they can't find people. The era of free workers came to its end. Without people, these companies and their processors will increasingly get irrelevant. In fact, to utilize the available processors, someone will have to come and write the code for them first. "Free programmers" just doesn't make business sense, especially at scale. • Recently, I've read two different, independent studies on energy usage at homes and they both slightly surprised me with their findings that refrigerators tend to consume more energy on average than water heaters (I thought it was the other way around). So I decided to take another look, loading a dataset about refrigerators found on data.gov. It contained lab measured kWh/day and the volume (in cubic feet) of the tested models. Dividing both, I came to the following ranking bit.ly/2DrujMD. The only problem with this is that these models seem to be used in medical/scientific environments and are thus not very representative of what we find usually at homes. Clearly, more data will be needed. • Found an interesting diagram about the health benefits of physical activity bit.ly/2DqpnHU, which was present in a freely available report assessing the needs of Oxfordshire citizens. The report also contained numbers on demographic picture, prevalence of different illnesses (cancer, diabetes, stroke...), blindness, stats on obesity and more. • Street trees by condition in Cambridge, Massachusetts bit.ly/2mSJhQK. It may be hard to see on this map, but 561 trees (5.21%) are in a poor condition, while 158 trees (1.46%) are no longer alive. Honeylocust, red maple, Norway maple, pin oak and green ash are most common, but there are also 240 lilacs, 197 pagoda trees, 103 flowering cherries, 2 maples and 1 snowbell, all Japanese. Wondering whether there is a historical reason behind this influence. • I'd be more interested in seeing a router which uses a single antenna, still covering a wide perimeter rather than one having ten, however beautiful they might open up. I go from the assumption that there must be some cost to operate that many, but I might be wrong. It would be nice to see the antenna transparently embedded into the device rather than drawing attention. A separate antenna somehow suggests instability to me. What if I carelessly dropped the device? Would this stretched piece then break? • Noticed that one of the demos—showing the screenshots from the landrover on Mars—is no longer working on this server. Not knowing the exact reason, since it used to work. Locally, I am still able to see the photos, but as before it takes some time. • If the cost of signing in exceeds the potential gain from the use of the software, expect people to be unwilling to waste their time. • Application: "rent vs. buy calculator" bit.ly/2mOdroc to decide which is one is better. Not sure why this is the first time I see something like this. You can use a similar computation to understand whether to be available full-time or only part-time to your employer. • "Urban maths: The Betz you can do?" bit.ly/2mLSrOU shows some interesting math related to the energy generation by a wind turbine. A very well written and informative article. • Abandoned properties can present a series problem for a city's landscape. • Parking place utilization at different lots at the Los Angeles International Airport (LAX) bit.ly/2mNVF4t • Tracking NBA game points over time bit.ly/2DoNAOY • Finding nearby Michelin restaurants in the UK and Ireland (18.01.2018) bit.ly/2mHABwv. Still interested in seeing some answers to my question in the last bit though. • Tried to list potential interests people could have. Can you identify something important that is missing? bit.ly/2DlYkNO. The checkboxes didn't fit on a single screen, so I hope you don't mind that I downscaled them a bit. • Relying on external services to deliver your content could make error messages like "Connection timed out" more frequent or prevent people from being able to access your "award-winning" (because in that particular case it was) portfolio. When this happens, the site should strive to remain silent rather than reveal the entire chain of service providers and which link between them was broken. Visitors rarely want to be bothered with such details. Only you can decide how often you'd like people to see this information. Reminds me of the article "Dependencies rule our lives", which still seems true today. • When the dimensions of web page elements are big and new ones are appearing on scroll, animated from the bottom-up, users may temporarily experience half of their screen filled before the other half joins it. This is unacceptable. Striving to update only a minimal area (see my post "Screen space waste") or (even better) avoiding animation for content (if possible) could lead to a better result. • Triangles following a spiral path bit.ly/2DgYuGg • Learning the names of Michigan-based animals from their descriptions bit.ly/2B4DCfq • "Dolores O'Riordan, lead singer of The Cranberries, dies" nyti.ms/2DdwnYp. I had a short period when "The Cranberries" was one of my favourite bands. So saddened to read this. But her songs will continue to ring in my head. If you also feel bad, here is "Stars" bit.ly/2B37CZ0 • A, B and C grades from restaurant inspections in Las Vegas bit.ly/2Dcose5. Many locations had positive longitude instead of negative, but this was easy to fix. • Real-time locations of some public vehicles in Phoenix bit.ly/2DdSk9T. It would have been nice to also draw the paths of the vehicles, but this was not given. Sometimes, vehicles that appear close together may serve the same route. • Map of incident frequency in Tucson ("last 45 days") bit.ly/2B3qAim. The north-west part of the city shows a slightly higher concentration of incidents. • Looking at a graphic by the Massachusets Department of Energy Resources, where they claim that until June 2017, 71953 solar projects contributed to 1699MW of installed power bit.ly/2DfUDck • Please, try to understand that repositories aren't hangars where you dump content, without spending a second to think how it will be accessed later. The more metadata and the better descriptions you provide, the better. Think about whether your visitors would be able to tell quickly what the data is about. This is valid for anything we put online. Because being descriptive matters. • Monthly unemployment claims by industry in Missouri (07.2011 - 12.2017, log scale) bit.ly/2B34cp3. Considering the number of claims, we can see that the sectors of utilities and mining seem to have the lowest unemployment. Source: bit.ly/2DbwGTL. • Michigan vehicle production by month (04.1992 - 09.2017) bit.ly/2DbpwPn • Unemployment rate by state in USA bit.ly/2B0CzgB as long as the published data is correct. Surprised to see New York so far behind. • Single screen with the most common customer service request descriptions in Cincinatti bit.ly/2DbIGEL. Metal furniture seems to be a big problem, but also a lot of requests were connected with trash and buildings in one or another form. • Places to recycle waste in Hong Kong bit.ly/2DcpTt2. Keeping the environment clean is every citizen's duty. Hong Kong shows how many places can be involved in waste collection to minimize pollution and to guarantee that the next generations will also find the city livable. • When looking at the number of cancer cases as reported by the Maryland Cancer Registry, one could only wonder why the big difference. The number of cases in men were 2.008 times higher than those in women, which doesn't appear "by chance" to me. Could it be that one of the groups knows something that the other doesn't? • Vehicle crashes in Maryland (Q1 2015 - Q3 2017) bit.ly/2Db8XTL. Over 311 thousand in less than three years seems a lot. For instance, the intersection Capital Beltway - Connecticut Ave appears in 581 crash cases. Looking for a way to reduce the total number of crashes could help many people. • Investing in some projects brought the highest returns on invested dollar for MEA, Maryland bit.ly/2D94Ib2. Hagerstown Light Department seems to have been a good choice for a grant. • Maryland's electricity generation by source as percentage of the total (1990 - 2015, log scale) bit.ly/2Dd3prF. In 2015, for the first time nuclear has surpassed coal as percent of the total electricity generated. Petroleum declined fast since 2005, hydroelectric remained relatively constant, natural gas increased slightly in more recent years, while solar has grown slightly faster than wind. • Maryland homes, partially financed by MEA's Home Performance Rebate Program to increase energy efficiency bit.ly/2AY9Jxd. Had to remove two points, whose coordinates seemed off. The concentration of the points looks interesting as if two clusters exist, where most homes were located. • Projects in Maryland, partially financed with grants from the Clean Energy Awards Program bit.ly/2D8IbLA. Bigger points indicate higher awards. The grants were given for solar, geothermal and wind installations. So nice to see the scale at which some states are implementing renewable energy. • The Maryland Open Data portal gives a fairly interesting view on the GDP per capita in various US states bit.ly/2D8GOfT • Finding the position of a book on a bookshelf bit.ly/2AYiW8N • According to the World Energy Council, Europe had the most installed solar capacity by 2016, with Germany being the leader bit.ly/2AUHQ9f. The country has shut down many nuclear power plants and reached the milestone of having over 85% of its energy come from renewable sources. This is something other European countries can only dream about. That the amount of sunshine in Germany is said to be similar to the one in Alaska leaves us wondering how under suboptimal conditions so much electricity can be produced. • The "let" keyword in programming for some reason reminds me of the label "Open here". It tries to tell about something that should simply be there. I saw Rust code using it, which once again reminded me about its existence in JavaScript. But I rarely use it. • A couple of lines to compare surface heat flux across three elements in a circuit bit.ly/2AVolgU • Sensor data from Aarhus, Denmark bit.ly/2D4LIum (environmental). Hoperfully, this will get updated soon. There is also real-time traffic data bit.ly/2D5hiZ0, but the vehicle coordinates are unknown. The parking place utilization page also looks nice bit.ly/2D7bzC7. • 3-4 days later my small brain still has trouble accepting the idea that UV light could potentially be used to purify water and air. Internally: "Is this true? Could it be? I saw a company claiming to be able to do it!" Oh, no. • Two things that can be explained by SVG polygons over images and hover functionality: elements of a biological cell and elements of an electronic circuit. So far I have seen such polygons over maps only. Room for improvement. • If a company is willing to hire programmers, it can assume that they will "compute" the job offer—dividing the announced salary by the number of required technologies. That number directly correlates with effort, where many nights outside work will have to be spent to acquire these skills. A highly paying job requiring knowledge of over 20 technologies with "interest" in 5 more might still not be that interesting relative to a slightly lower paying job where only 4-5 technolgies are listed with a clear perspective on how they will be used. When we consider that 4-5 technologies is perhaps a reasonable upper bound someone would be able to master, then the decision becomes clear. The first offer signals "we study every fancy new thing that appears", while the second says "we work focused and hard, but we also appreciate our personal life". Could you guess which offer would be more interesting to an applicant? • Once you see how syntax highlighting is done under the hood bit.ly/2ASr7TW, you'll try to do everything to avoid it. • "Shading is often the most expensive computation in a GPU pipeline" This sentence is enough to make one think about the cost of painting in most websites. Creating placeholders first (wireframe) and filling them later might be seen as slightly faster, but it is hard to become comfortable with the idea of doing things twice. • A nice map of the streets in Cologne where construction is taking place bit.ly/2D30B0m • Whenever I see a carefully crafted recipe on a website, I think about how beautiful web design could be. The author provided a pleasing photo, listed all ingredients without stressing the reader to follow exact quantities, using phrases like "more or less" and "as you wish" to smoothly arrive at a very short, succinct description of the recipe that takes less than 10mins to follow. This person, whether they know it or not, is a web designer. If someone, who never intended to follow through the recipe, saw the simplicity it has been reduced to, and chose to do so, then the author has achieved its goal—to provide a new, different experience. • It would have been nice if an SVG path element had the notion of betweenness centrality. • The story of the 80-year old German patient who needed an operation, but turned away his head when the doctor came and his wife going the extra mile to ask in the doctor's absence whether he was a true one is particularly striking for me. It shows how far discrimination (due to race) can go. This happens in the middle of Europe, in a country which claims to be open to differences and feels proud of its integration efforts, where many people would claim that they don't discriminate, but then attempt to hire foreigners at below minimal market rates. Interestingly, the doctor accepted such a treatment, but a person having a greater degree of self-respect would have certainly refused to serve the patient, no matter that he is a German. • Ten content-rich slides labeled "slicing web design" bit.ly/2AQu3AF • Saw a fairly creative drawing shown in a 45° perspective, where a monitor has been subdivided into areas that looked a lot like drawers, one drawer being opened outside the monitor, into the real space, full of documents inside. A miniaturized human being was looking to it from below. Big data. • Superfoods, supercapacitors, superconductivity... looks like a trend to me. • A quick overview of Munich's climate parameters bit.ly/2ALPLWw • "Graphical models should allow unexpected values to present themselves" (John Tukey's idea). This is also an effect I seek in my own visualizations, to ensure no preconceived notion towards the visible and the latent. Before posting anything online, I often prepare multiple visualizations • Some people believe that programming is like taking a cookbook and applying a recipe or simply pasting a snippet into the code they are working on. Work needs to be much better than that. • Montreal traffic cameras bit.ly/2CWqLSf expands on the existing series. The streets seem to have a good amount of snow today. Here: not a single snowflake. • Location of most litter bins in the center of Dublin, Ireland bit.ly/2CQQVWx. If you notice that the orientation of the map isn't accurate, please let me know. The City Council wants to reduce their count and replace them with smart bins, which can monitor their fill level and alert when they should be emptied while at the same time using solar energy to compact the litter and delay this event. Given that in Europe many litter bins are frequently overflowing, this might set a good example. • Imagine that you hold a multimeter in your hands. If the device is bulky, looks ugly or the buttons don't work the way you expect, how often are you going to use it? The same is valid for websites. Spending time on designing the interface right from the start is usually time well spent. Saying this, because I still see devices appearing before their interface has been polished. • The solar potential dataset bit.ly/2CQyGR7 is interesting, because it classifies locations for solar panel roof installations as "excellent suitable", "well suitable" or just "suitable". Since there were five features (insolation, unshaded roof area, PV generation, PV emission savings and PV system size), I wondered how this decision is actually made, so I computed the feature importances as seen here bit.ly/2ADsDtb and found that insolation came first by a wide margin (0.87 vs. 0.032 for the second most important feature). After this I ranked all locations by insolation and discovered that the threshold value separating "well suitable" from "excellent suitable" was exactly 1000kWh/m2 per year. Sharing this because it might help someone. The top location in Bristol had insolation of 1142.3kWh/m2 per year. • Looking at a dataset about Bristol buildings energy consumption bit.ly/2ADMXdS by Open Data Bristol led me to discover the Avonmouth wind turbines bit.ly/2CSA9Gv by Thrive Renewables, whose average annual production covers the requirements of the biggest 38 energy consumers in the city. Not a small achievement, given that only four turbines were used. • Nice to hear that integrating a water sensor in an umbrella can make it light up when it rains. I guess, this can be especially useful at night when you can't see easily whether you are stepping on a dry surface or in a puddle. Now thinking of lights having a surface that acts both as a solar cell and rain detector. • IEEE Spectrum mentioned that most of the new streetlights in San Diego will be available in March 2018. They will come with many integrated sensors (temperature, humidity, vibration, magnetic field, vision and acoustics), will be dimmable (to reduce consumption), and will detect crashes by the sound they produce, while at the same time being able to self-evaluate the gathered data and send the result to a centralized place, possibly where it can be monitored bit.ly/2ACa60l. We can expect the upcoming dataset to be quite interesting. Update: Reading something else, now I see that a gas sensor sensor might also be nice to have. • All-in-one devices may work well; all-in-one classes or functions are rarely bearable. • Geometry is also important at home, not just in demos. Placing the router high, at a central place and with no nearby plants/obstacles is said to improve connectivity, since the distances to most devices would then be shorter. In my case I can't easily change that location and it's relatively far from me, but somehow link quality still comes at 70%. If I chose another OS (as I did before), this number would have been 40-50%. The next time I observe such a weak connectivity, I will have to check whether Homedale can help bit.ly/2CMacZl. Seeking ways to improve the network is also motivated by its speed relative to other components (from slowest to fastest): network -> hard disk -> RAM -> CPU. If the average page takes 10s to load and you visited 40 today, you've lost &approx.6.66mins of your time without being able to even check the content. That's enough time for lots of CPU cycles. • Profiling Spiegel didn't end well. Content loaded fully after 75 seconds with high CPU utilization and plenty of long frames bit.ly/2Av98mG. The site made 391 HTTP requests (lots of third-party content) for a total weight of 4MB. Rendered plenty of large images which certainly contributed to the non-smooth scrolling. I'll stop here. • Failure rates are said to grow almost linearly with system size. This means that there is a theoretical limit of the amount of work most organizations can handle, even when they aim for more. Going beyond this limit means risking more failures and making more customers unhappy. • Design with no requirements is mostly wrong, except in the rare cases when the designer can prove they know what the client dreamed about last night without being able to remember it. • What's the benefit releative to the cost of writing this software? Because when on the negative side, no company should hope to keep its workers. I could very well understand if they chose to become unavailable. One could think of this as a kind of metaprogramming. • According to Fortune 500, the last year Apple was ≈3.35 times more profitable than Walmart and almost twice as profitable as the second company on the list - J.P. Morgan Chase. This is quite a difference. • Good to see real-time fishing activity bit.ly/2AqCjao • An interesting article on using deep learning for cucumber sorting bit.ly/2ArafU4 • Are there actions that "push" the page multiple times after it has been rendered? Reflow and repaint can be seen as sources of inefficiency when it becomes obvious that they are used for eye candy rather than a meaningful purpose. • A big-screen TV is much more than its screen, but we tend to forget that when we see that it takes a large percentage of the device area. We may not perceive this device as a system of components, because they remain skillfully hidden, accessible only through the remote control, which is acting as an interface. Yet, neglect in the quality in any of these components could introduce artefacts or noise in the picture. This means that how the picture appears is an effect, while the viewer who is living in an imaginary world believes that they are looking at the cause. Great design attempts to hide complexity (see Apple devices for instance) and this is also frequently the case with great software. • Do you use the smallest number of variables that could possibly work for the task you want to tackle? Do you overwrite variables in some cases or do you always prefer to introduce new ones to avoid the possibility of conflict? • Did you like PHP's double questionmark operator (??) ? Example:$val = isset($_POST['field_name']) ?$_POST['field_name'] : null; becomes $val =$_POST['field_name'] ?? null;. This has the potential to greatly simplify some existing pieces of code. Reminds me of JS or-chains (var val = a || b || c || d;), where if c is true, d would never evaluate. If you wanted to learn more, one way would be to start working with me, for instance.
• Back and still thinking how I might end. The new year doesn't start well for me, but at least my hope is that it could slowly develop into something more positive. I hope that this event would prompt me to work and serve more as opposed to work most of the time on things I find interesting, as in previous years. Yet, at the same time it shows that noone lives forever and to experience life fully, one's work has to be appreciated even when being far from perfect.
• Due to a sad reason I won't be able to reply to any emails in the next few days. I hope you'll understand.
• Saw a photo of a solar-powered stadium in Brazil that is said to be self-sufficient. Not only that, but it manages to power 2200 households in the neighborhood. This is not five or ten.
• Locations with acquired (or in the process of acquiring) solar permits in San Diego between 01.01.2017 and 22.12.2017 bit.ly/2zXA8el. According to the data, the average time from application to obtaining a permit is just 6.395 days, which seems suspiciously fast (maybe a mistake?). Interestingly, three people obtained the most permits, with the third person acquiring 11 times more permits than the next on the list. In 1381 cases (out of 6178) the project owners described scopes indicating a target wattage, which allows us to compute a planned capacity of ≈6.3945 gigawatts. Since this number doesn't describe all projects, but only ≈22% of them, it is not perfect, but at least it enables us to gauge the dimension at which solar generated electricity could be expanding in this city.
• An attempt to understand the nature of crime in London bit.ly/2ClD4ap
• Street lights in Sacramento and their total wattage bit.ly/2zYKyKy
• According to my code, the year-to-date earnigs from the San Diego parking system exceeded 6.5 million dollar bit.ly/2CnzeO4
• Average price of electricity to ultimate customers, broken down by type of use (residential, commercial, industrial) and by US state in October 2016 and October 2017 bit.ly/2zX4w8D
• Comparing fluctuations in the dollar prices of a ton of coal and a barrel of petroleum liquid between January 2015 and October 2017 in USA bit.ly/2Cl13Xn. Petrol seem to have reached its lowest price in March 2016, but its price varied a lot. Relative to that, coal price remains relatively stable, although it seems to slightly decline over time.
• Electricity generation from wind and solar by US state in the last two years bit.ly/2CjQ3cJ. California and Texas seem to switch places.
• Traffic counts on various streets in San Diego bit.ly/2Cii8kH. Each street has been color coded, although the whole looks like a mixture of confetti, which is not very useful. To find the streets with the most traffic bit.ly/2CjxvJS, I used a somewhat unconventional approach: taking the median of all measures for a given street regardless of the time they were made to ensure that each pair of streets appears exactly once, then splitting that pair to get the names of all inndividual streets and summing the median values across all occurences of each street. The result is a weight that isn't very meaningful by itself, but once these weights are sorted, busy streets can be found to have higher values relative to others. Since each street participates in various street intersections, this practically considers them all.
• Net electricity generation by energy source and net generation from renewable sources in USA (2007 - 2016) bit.ly/2CibzPh. This paints a picture that the amount of energy produced by hydroelectric and nuclear has remained relatively constant. That produced by coal is declining rapidly (which is good) and the energy produced by natural gas has not only increased but now surpasses that of coal. Renewable sources excluding hydroelectric and solar are also on the rise. In the total energy generation of all types of sources, solar is still hardly noticeable. But if we observe only renewable sources, generation from solar, although at the bottom of the diagram, is increasing noticeably. But this still cannot be compared with the remarkable growth of wind electricity generation. Hydroelectric electricity generation seems somewhat inconsistent, because in some years it increased rapidly, but then decreased to previous levels.
• Happy New Year 2018! Frohes Neues Jahr! Happy, healthy and smiling! :)
• Do you remember that I compared the electricity usage in Boston's City Hall and the Central Library some time ago? bit.ly/2rZOnzD As you can see, the last day on the graphic is 06.06.2017. Now it looks like the data team behind this doesn't even know what rest is, since even on New Year they worked to update the dateset (yes, the last observation is from today, 12:30). To avoid lagging behind them, I updated my graphic correspondingly bit.ly/2Chvv4G. City Hall seems to prepare for something in December.
• Didn't know that windows could eventually act as solar panels one day, given the technology that NREL demonstrated go.nature.com/2zV3868. If that's possible and so many buildings already have windows (some of which are large), perhaps only their coatings could be changed. Seems a lighter touch to me than extending the roof areas to be able to accomodate more panels, using plenty of additional material. Currently, this technology is in an early stage and not very efficient (slightly above 11% versus slightly above 21% for LG solar panels), but it is nice to see it developing.
• I like the municipal energy report of the city of Providence, where almost all city-owned buildings were evaluated for energy-efficiency. Specifically, here is how the page describing the performance of the elementary schools looks like bit.ly/2zTnk8D. Always nice to see the level of detail in such efforts. Providence City Hall reached an Energy Star score of 96 in 2016, reducing its costs by $240000 since 2012. • Nose levels at various locations in Dublin bit.ly/2zSN6cU. If you notice that the page no longer works, write me and I'll try to fix it if possible. Today is Sunday before New Year, so we can track now how loud this night is going to be. The last night was already loud at Bull Island, especially in the hours from 00:30 to 06:10, which you can easily see. While most places seemed to have noise levels around 46-50dB(A), Chancery Park was consistently louder than average (with peak that reached 68.07dB(A) this morning at 09:45). • "Junk food: Why people can't control themselves and what to do about it" bit.ly/2CewX83. Discovered RAND and now can't stop reading on it. Other things I learned: stickers/labels on foods like "high in sugar", "high in salt" etc. helped to reduce obesity in Chile. Poor sleep is said to be linked with seven of the leading causes of death in the US; drivers who slept only 4-5 hours had 5x the crash rate of those who slept 7 hours. The cost of antimicrobial resistance is estimated to become 11-444 million by 2050 (depending on scenario), with each new drug taking a lot of time to develop, but eventually becoming ineffective due to the microbes becoming resistent to it or mutating into other forms. The estimated true cost of corruption in Europe is said to be 990 billion annually, or 8x higher than initially anticipated. Interesting numbers. • Shenzhen electrified all its busses, which sets such a great example for the rest of the world. • Does the design feel as part of the object to the point that it is not even noticeable? • BAföG expenditures over time and average expenditure per person for all German states bit.ly/2CfAqTu. The increase in BAföG aid has been strongest in Nordrhein-Westfalen and Bayern and weakest in Saarland. All German states seem to have raised their average monthly assistance per person between 1991 and 2016. At the beginning, the aid was slightly less than 300€ in more recent years it climbed to ≈450€. • Enterprise births and deaths by sector in Germany, 2015 (sorted by total number of enterprises) bit.ly/2zQqaLz. We see that sectors having less companies tend to have positive net company establishments, while some sectors, already having many companies are showing negative net company formation. Interestingly, the scientific sector (5th place out of 79) was on the negative side in 2015, while information and communication was relatively neural. But the latter is currently on place 20 in terms of total number of operating companies, which doesn't place it among the most important for the German economy. The sector of human health activities is interesting, because it is highly ranked, but remained neutral while creating only few new companies. Perhaps the barriers to entry there are too high. The industry and service sector lost more than 250000 companies this year, which is a very high number. In case you are interested, the dataset is available on the European data portal bit.ly/2zPIdkT. • Track length of the rail network in Germany at the end of 2015 bit.ly/2zQ6ozD • Historic demographics by sex in Germany bit.ly/2zOaTe5. The obvious question now is what happened between March and June 2011. Perhaps there is some reason or the measurement methodology was changed. • Average milk yield per cow by state in Germany (2000-2016) bit.ly/2zPdZhV. Expected to see Mecklenburg-Vorpommern at the first place, but milk production in Thüringen and Berlin looks even better. However, we should be aware of the price we pay for that production and whether it is sustainable. If the number of cows is shrinking and that of people demanding milk is growing, this raises the demands on the existing cows, which may force producers to feed them with stimulants to both satisfy the market and increase their profits. The end consumer will then be served with milk of lower quality, produced under unscrupulous conditions. As a parallel, we could think of employers acting similarly to milk their employees every single day until not much is left of them. The other dark side of milk production is seeing producers spill their milk on the streets in response to the low purchase prices that buyers were willing to pay. Then a long chain of milk sellers and resellers turns into play (making more money than the producers themselves), increasing the end prices (sometimes multiple times) for the end consumer. • 2017 was also the year in which I learned to write less JavaScript. In my opinion, the language developed in the wrong direction, which I can no longer support or want to be part of. There is now reliance on promises, async/await, for...of loops, destructuring, arrow functions and much more. Some of these are nice, but all introduced additional complexity. The minimum requirement for JS developers has shifted towards being proficient with things like Babel, yarn & npm, React, Vue, Angular, Backbone, perhaps JQuery, other project-specific libraries dealing with SVG, gradients, scrolls, tap delays on mobile, animations etc., finishing with WebAssembly as culmination. Clearly, JavaScript has become a language in which young people are forced to burn out, which in my opinion isn't sustainable. Being produced only in a short time, this complexity would be hard to handle even in the next five years. There are certain characteristics in a language that I expect it to have before committing to spending years in learning and using it. Currently these characteristics are slowly disappearing in JavaScript, so my plan is to stick to my knowledge up to v1.5, which has most of the things I need and nothing more. I also didn't like the more recent uses of the language (which is a very important aspect), integrating it in places it was never available before. Once I saw the developments, I switched my focus to C++ and although it also took me quite some time to adjust to it, starting from null, I found that this time was well spent. I looked inside interesting projects and learned about project structure and more complex object interaction patterns. I found the language very expressive, which you might be able to observe in some of my attempts to use it. I also liked the elegance of C# before, but at one point or another I had trouble even compiling the simplest code, while one of the IDEs kept crashing for no obvious reason. I never found enough content on Java to keep me interested for long, which is unfortunate. As always, Python continues to excite me, but I frequently find that in my context it is not sufficiently fast for what I need (which became obvious with a neural network). For instance, whenever I want to filter high-dimensional data like an image, I have to make many small adjustments and run the computation each time to observe what changed and determine whether this was my intended result. The effect is that I can easily spend half a day (for computational, not creative reasons) on code that wasn't achieving much. Sometimes Python feels like combining mosaics to me or the learning how to make the best use of what is already available. Although there are some definitions that creativity is combinatory play, it didn't feel this way to me, where focusing too much on the individual components frequently caused me to miss important aspects on the big picture and the end goal. I also felt that the language is hiding too much, not knowing at any point in time what is truly happening or why in a certain way. When an internal error appeared in an external library due to some assumption about the type of an input parameter, it was mostly too late for corrections and the entire screen was filled with a long stack trace. Many people use Python mainly for scientific purposes or data analysis. I also use it to design for the web, where it helps to do the job in a fast and efficient way. Unfortunately, I cannot control which Python to have installed, so I am still stuck to v2.6.6, which is quite limited. External libraries like numpy, scipy, matplotlib and others are simply unavailabe, so I can only run the code locally, paste it on a page and show a graphic that it produced, but not execute it in real time in the way I wished. Having latest Python on a cheap custom device means that I would be unable to have the same reliability should something go wrong—reason enough to shy away from this option. More recently I started refreshing my PHP, since it is the only language working unconditionally in my hosting environment. But as always, we shouldn't blindly speak about the languages, but what they enable us to achieve. This could be anything important: an ecommerce site for selling products at scale; seeking insights from existing data to improve business operations or evaluate investment decisions; controlling devices; using AI to learn from the vast pool of information or to drive vehicles; reduction of inefficient car maneuvers; providing public APIs to enable more interesting applications; data collection via sensors (IoT) to improve understanding on issues related to the environment or to observe air and water quality or smart cities and homes; speech recognition; onlne communication; reservation systems for hotels, restaurants, events or even dentist hours; soil composition analysis to understand the observed agricultural efficiency; microbiome analysis to understand the complex networks of bacteria in our bodies; seeking patterns in protein-protein interactions in a graph; applications in the context of renewable energy sources (wind, solar, geothermal etc.); network packet analysis for intrusion detection; real-time maps of critical resource usage or emissions; vehicle sharing; LIDAR distance estimation; mathematical modeling of processes and function optimization; advertisement attributes optimization; golf stick, tennis racquet, racer bike, car, airplane design optimization; interior design mood analysis; material property analysis, improvement and development of enhanced materials (Kevlar) or item weight reduction by preserving durability; nanotechnology and automation; HPC system design; code introspection and analysis; optimizing available product quantities according to muri, mura and muda (e.g. in warehouses); reducing power consumption for better device battery life; solar panel relative-to-sun angle auto-adjustment; photographic sensors working similar to the eye; self-healing and self-optimization (like turning off unused parts/areas once noticed); monitoring dashboards; seeking multiple-purposes for each thing produced; few-part devices; understanding how people learn and the brain's function; developing micro-awareness for animal behavior (goats are claimed to be useful as early detectors of volcano activity) as well as systems for early warning; disease understanding and healing; analysis of natural phenomena like hurricanes, but also wind and water streams, ocean levels; shipping cost and delivery time reduction; route optimization; sound absorption and cancellation; signal-to-noise ratio (SNR) improvement; geometric design and optimization of physical dimensions; building insulation; regression (for prediction), clustering and classification; before-after comparisons; reduction of line intersections (in tube/road network design); automated lighting at music events; reactive and robotic toys; habit and progress analysis; prioritization according to the probability and severity of events; tumor detection in medical images; risk estimation and reduction; real-time price optimization based on supply and demand; automated auction participation; clickstream analysis and others. The language is rarely more important than the cause. • Another thing to remember this year would be the return of paywalls, especially in online magazines and newspapers. What this could lead to is a restricted, limited-access, monopolized, advertisement-based web, being of less and less use to the average person. It doesn't help much if the only free resources someone can find date back from the year 1984 or when a single paper costs as much as an entire new book. Although the drive towards content monetization is understandable, publishing only short fragments in the way it is accepted today leads to nothing more than readers with fragmented attention. There will always be more fragments to concentrate on, just not enough context / substance to fully comprehend what they mean. The advertisers are actively using this, since the more disoriented / helpless you feel, the more easily they can serve their ends. • Programmers, who get used to reading only bite-sized snippets of code, having trouble when they encounter a more verbose language or developing a fragmented way of thinking, being unable to comprehend a sequence of long, complex sentences, choose to become easy to manipulate by the people who spend the time to read in full. • A framework isn't a product, so if you choose to develop one, how would you justify your effort/time spent? If you seek popularity instead of monetization, given the extensive palette of existing frameworks, you are unlikely to achieve it. And if you learn from other frameworks before creating your own, you will adopt the same low quality of work. Always create products that sell, serving concrete customer needs, not frameworks serving might haves. • Once again evaluated other payment platforms to see that most of them still don't support all countries. I don't consider Bitcoin as a payment alternative despite it's growth this year, because for some reason I tend to associate it with criminal activity (and you should too). But it gives employers more means to "optimize" their workforce salaries, enabling them to pay employees with "thin air" instead, which is arguably a dream come true. (A company in Japan switched to paying in Bitcoin, so eventually more will express the same desire). My initial hope was that GoCardless could change something by enabling the same payment options across Europe the way that PayPal has provided them elsewhere. Unfortunately, GoCardless seems to have reduced the list of supported countries. Also tested Due, which despite the beautiful interface, claimed that direct payments are "US only", although it mentioned few selected countries. Stripe too, lists only 25 supported countries. Two other previously independent companies like BrainTree and (I forgot its name) were acquired by PayPal, further monopolizing the way online payments are made. Ecwid is also a nice alternative, although I always find it bad when someone makes assumptions on my side in which currency I want to sell my products (even when this might require only setting an option). At the same time, some international payment gateways have started to publish the full costs of using their solutions to the point that it now becomes obvious that they are unaffordable for the large majority of small businesses in Europe or elsewhere. This is how, once again, we come to the end of 2017, not having a payment method that works universally across Europe. The same Europe, whose future seems so important in words, with people constantly speaking about integration, values and economic prosperity, while at the same time letting thoughts in the back, discrimination and unequal treatment play in full and eat at the roots of the original idea behind the union. Eventually, everything will come back to bite Brussels, so we'll see how much longer this will take. To sum up in one sentence: "In 2018 Europe still doesn't have a payment method." Fortunately, PayPal is always available, but the more I'll have to use it, the less open I'll become to working with other (non-paying) Europeans. • dummerAugust acceps PayPal as a payment method in case you wonder how you could pay for my services. However, I tend to select my clients carefully, so you cannot expect to be able to work with me by default if you don't truly understand the way I work or what I can deliver for you. This page and the blog have been made with the goal to clarify this and to let you know what you can expect after we start working together on a project. Notice that anything demonstrated here does not necessarily describe how I work with clients or what the full spectrum of my capabilities looks like. I never demonstrate them in context until I agree with the terms of the payment (which very likely won't happen at all). But a payment method is still available to those who deserve it. Not seeing anything wrong in saying it this way. • Had two simple ideas today: finding recipes matching a given list of ingredients and learning from the big Open Food Facts dataset. While working on the first, I noticed that the links the external service was providing were no longer accurate and the imagery was too small to be useful, which made my demo obsolete. Then I moved on to work on the second idea, but the dataset was malformed and I couldn't easily spot where. By attempting to do so, my machine crashed twice, so this idea was abandoned as well. • If you prefer using operators over function calls whenever possible, it is very likely that your code will be faster bit.ly/2zEvL7u. Calling the function here is almost 4.3 times slower than using an operator, at least on my machine. If you find that your functions can accept arrays as arguments, pass the arrays to a single function call rather than calling the same function repeatedly, each time with different arguments of length one. • Ratios of travel time in the peak period to travel time at free-flow for some cities in California, Texas and Florida between 1982 and 2014 plus relative increase in the ratio for most measured cities bit.ly/2zCL4h0 as seen in the data bit.ly/2BZSv88 by the Bureau of Transportation Statistics. From the first diagram we see that over time the traffic in San Jose has slown down quite a bit, quickly approaching the same travel time index that San Francisco-Oakland had. San Diego and Sacramento have almost the same indices year-by-year as if they are connected in some way, which is quite interesting. If we look at the text after the third diagram, we see that traffic in Bridgeport-Stamford (never heard of it) has increased stronger than traffic in Las Vegas during the period, while traffic in San Juan has increased even more than that in San Jose. • This time it's not about ice, but ICE high-speed trains: an attempt to check for a relationship between speed and WiFi quality (in terms of badnwidth and latency) on some ICE trains bit.ly/2zDaCut using a 2.1GB dataset provided by Deutsche Bahn AG on 14.12.2017 bit.ly/2BYgIf3. The graphic gives the false impression that the receive rate is approx. twice as fast as the send rate, but the medians give another picture: speed of 20.3 m/s, receive rate of 589156 bytes/s (0.5618MB/s), send rate of 85016bytes/s (0.0810MB/s) and latency of 77.0ms. If we compare the medians, then the receive rate is almost 7 times faster than the send rate, but even then the speed of 560kB/s is slightly low for today's standards and demanding frequent travelers. As the diagram shows, in rare cases the latency can reach 12s, which is quite bad if it happens in 2017. Most requests seem to be initiated within 5s or not at all (if we look at the latency graphic, there seems to be an upper bound). Any latency over 100ms could introduce a noticeable delay, which directly affects people's willingness to browse. Interestingly, DB seems to use multiple on-train devices and Internet providers, so there might be switching times involved, which depending on the current conditions, can affect the overall WiFi speed and availability. Due to my hardware limitations, I cannot provide a more exhaustive analysis, but I am providing the link here so that anyone who wants it, can do it on their own. But one thing is sure: investment in faster Internet is rarely a one-time event, but an ongoing concern, which affects all travelers. • Still remembering the case when electricity was unavailable for hours at the Atlanta International Airport, when passengers couldn't travel further. That was the time when I learned that this was the biggest airport in USA, having more than 2500 flights scheduled on a daily basis. In my perception I always thought that the airport in New York must be the biggest, but it turned out that this perception was wrong. So I decided to explore more to see what else I don't know about US airports and also to gain some insight on the number of passengers served. What I could find was data from the Bureau of Transportation Statistics about the state in 2013, so I visualized it bit.ly/2BZ5mY8. As you can see, the airport in Atlanta was by far the biggest one in 2013. Dallas Love Field also sounds nice and I see that they celebrated their 100th anniversary this year. The airport was built in 1917 and operates since then—such an inspiring durability. Perhaps there are even older airports I don't know about yet. • Wikipedia: "The U.S. state of Texas is divided into 254 counties, more than any other U.S. state." It's a relief to read about this after getting some numbers bit.ly/2BTyCPT. Few states at the bottom are missing, because I decided that the extra effort wasn't worth it (stitching together multiple screens). But you can assume that District of Columbia and Guam had only one county each, followed by Delaware and U.S. Virgin Islands with 3 counties each. A complete bar chart bit.ly/2zzqn5H. If we had the areas of each state, we could find out the states with the largest average county areas. But even so, it is interesting to see how fragmented some states are. • Average new car fuel consumption bit.ly/2BTTkzp • Finding the durations of flights bit.ly/2BSc5Dp • Results from a sample football league round (animated) bit.ly/2BPaA8X. The idea is generic enough as to be applicable to any competition where two sides are involved. Variations on the theme are also possible. • Separating concerns into n dishes means that should a single dish not be cooked perfectly or contain an overdose of red peppers, it is impossible to ruin the holiday. Merry Christmas, everyone! • Disheartened to hear how a bean stew in South Sudan costs the equivalent of spending 161 Euro in Berlin, according to the director of the World Food Program. There's so much hunger in this world. • Imagine that you shipped a product million times and suddenly realize that not everything in it is as perfect as you initially thought. Car makers frequently have this problem: malfunctioning brakes or airbags for instance can be the cause of human injuries or death. So they take the cars back from the market with the goal of fixing them. As you can imagine this operation is extremely costly and can easily bankrupt the company. By the time they encounter the problem, their car models might have reached very distant parts of the world, being very far from the factory where they were initially produced. How easy would be then to correct this mistake? As we know, the later a problem is detected, the more costly it becomes to fix it. So the severity and the probability of occurence of the problem are usually evaluated first to see whether such costs are justified. In some cases mistakes can be corrected by applying a software update. If I remember correctly from "The Toyota way", one element of the Toyota Production System (TPS) was the seeking of balance. In software and hardware too, almost anything is about making tradeoffs. One can integrate a very fast CPU in a mobile device while having the battery last only for a very short time or one can have a slow CPU with battery that lasts longer. But even then it's not that simple. While the CPU performance remains constant over time, battery performance doesn't—the battery wears out (sometimes quickly) over time. If it isn't replaced with a new one, the balance would shift away from the way the manufacturer originally imagined it. So what can one do in this case? You guessed it correctly, shipping a software update that adjust the CPU performance relative to the current battery (wear out) level. Is this meant in some way to make people upgrade their devices? I don't think so. It is meant to improve the longevity of the product, to allow it to be useful for a longer time and possibly to still have it working in a critical moment. Does the manufacturer need to inform users that their device has slown down a bit in response to the update, explaining the reasoning behind the tradeoffs? Maybe yes, maybe not. The manufacturer needs to ensure the quality of the product at any single time, nothing more, nothing less. Please, remember that many manufacturers don't even maintain their products once shipped, resulting in a track record of useless or unused devices. This has already made device pollution a severe problem in some countries. If a user didn't like the fact that someone intervened to improve their device, and tried to directly tell the manufacturer how the CPU frequency on their device should have been handled, then this sounds more as an attempt to tell the manufacturer how they should be doing their work. It is very unlikely that a client knows that better, otherwise they would have made the devices themselves. One thing that this could achieve is decreasing the rate of updates/innovation or directing them only towards newer, more shiny devices where not much is to be criticized at all. But this would do disservice to both sides, which is why I am mentioning the issue here after seeing how quick some people were to criticize some companies. It is often forgotten that the very first users of a device usually come from within the company where it is produced, so if they did something wrong, they would be hurting themselves first. Real people there spend a lot of time on programming, testing and quality assurance to ensure that the end client is always happy as well. But a company cannot do much if clients have a different, distorted opinion on what constitutes great quality. In that case it is probably better not to serve them (especially when they cannot be possibly satisfied), but to choose clients wisely. Clients that aren't open to discuss their issues calmly, but reach for the megaphone anytime they experience a small bug perhaps cost the company more than they bring. Which explains why everything mentioned above has also implications on the way I work as well. • The last sentence reminds me of two possible ways to add value: one is through creation while ensuring that another party is hurt during the production process (which is surprisingly common like in a zero-sum game) and another is through creation that introduces something innovative that builds and expands on top of what already exists without necessarily seeking creative destruction, without thoughts on competitior crushing or assertiveness with the goal of self-service. Unfortunately, I'm not seeing too many examples of the last. • Didn't know that ≈40% of Jakarta is now said to be under water, making the city "the fastest sinking city in the world" nyti.ms/2BFyQdj. This is such a tragedy. It only partially surprises me, because someone mentioned before that when ice is melting, distant regions from it are affected first (remembered this since it sounded so counterintuitive). So I had a blind spot for a while that made me uneasy: I've heard where ice was melting (Greenland), but was unaware of distant areas (like these in Asia for instance) which have felt or were affected by that. This New York Times article casts some light on that and at the same time underlines the dimensions of the problem. Perhaps Indonesia won't remain the only affected country. This also illustrates the "butterfly effect"—that whatever we do isn't just a local event or an isolated case, but something that always finds different incarnations or seeks to spread elsewhere, affecting seemingly unrelated people and things. But everything is interconnected. Whatever we do, whether we want it or not, is a form of setting an example—one that will be discussed, evaluated, eventually copied. My hope is that more of us can at least internally feel proud of what we do (always striving, never showing off), with a minimal negative impact on the happiness of others. Possibly a good wish for 2018. • As an European, I knew almost nothing about the geography of Bangladesh—a country whose population is said to be approximately twice that of Germany. I decided to fill my curiosity gap by making a small, tidy map of the locations and relative population sizes of some of the biggest cities in this country. This is the information I found, although I realize that it may not be the most accurate. Interesting topology and point sizes, given that the populations are on a log scale bit.ly/2BGNBNg. Dhaka has 2.65x more people than the second largest city and is located almost at the center of the country, which makes it easily accessible from anywhere. • Mind: "Use MinMaxScaler((from_voltage, to_voltage)).fit(voltages) to cause devices designed to work at different voltage ranges to adhere to a single voltage range across..." Me: "Please, stop. That you are seeing the keyword 'output power' doesn't make you a circuit designer." • Some rent prices for one-room apartments in Berlin (wg-gesucht.de, 23.12.2017) bit.ly/2zk0J4I. Somehow a non-linear model found its way into the diagram. Linear regression produced the same line as ridge regression, so I didn't show it. Wanted to include more data, but then this caused more traffic than usual and got noticed by the site. My initial idea was to produce all regression lines for the top 30 cities and see how they relate to each other (comparing slopes and intercepts). Just the data for Berlin was over 800 pages, full with offers, so it's understandable that only a very small fraction has been included here. If you see rent prices close to zero, these are for a single night only (and should have been omitted). • Finished reading another article on image optimization, full of advice. Then continued with where I left the "Reminiscences of a stock operator" to come to this slightly amusing piece bit.ly/2zcskF4 that made me think for a while about what I was doing. • The last days in which we could work together this year are slowly approaching. But don't worry, you will have the same opportunity in 2018. Only you know whether you have an issue that has become important to solve and whether working together would be the right fit. As always, plenty of services exist elsewhere. • It is easy to believe that 100ms is a very high bar for good performance in web design, until you hear that to reduce the chance of echo perceived due to reflections from walls (where the perception of the original signal is changed), a sound wave must reach the listener within 50-80ms, at most. Strange that such a simple medium as air can beat high-tech cable. But air doesn't have the notion of a "hop". Staying at maximal distance from the sound source means that the wave would take longest to arrive, enabling one to gauge how the echo could develop in the worst case. With websites, it is similar: Ensure that your customers are at the other half of the hemisphere, accessing your website at a peak time and let them measure the response time. If they report 5s, while you hoped for 1.5s at most, then something needs to change. • If you saw a web page comparing Apple and Google maps in certain locations, you probably loaded ≈70MB of content. • The authors of a newly published article on energy efficiency in CACM bit.ly/2z6BuCJ refer to a study which found that 3G can consume 1.7x more energy than WiFi, whereas 4G can consume about 1.3x more energy than 3G. On an Android device, sending HTTP requests was among the most energy-consuming operations (bad news for mobile web browsing). Third-party advertisement modules can be responsible for up to 75% of the energy consumption of a mobile app (which we already intuitively knew). Displays can drain the battery fast (also not new). On some devices, system calls can be used to estimate the energy consumption (which brings back the memory about strace in me). Blindly downscaling CPU frequency was said to lead to increased energy consumption in some cases, which is rather surprising. That said, we need to try writing applications that don't turn off the device while our website/application is used. • Box office total gross amount per theater for the top 40 Disney movies bit.ly/2z4sHkU. It looks like "The lion king", "Frozen" and "The sixth sense" did relatively well. • Just by connecting carefully positioned parallel lines and selectively shading the space between them, one can arrive at some nice 3D figures from simple 2D lines. Looks so easy and elegant at first sight. • Research titles funded (grants) in the last three years by the Science Foundation Ireland in decreasing order of commitment bit.ly/2z4q8zf. Thanks to the data, learned about many interesting projects and research centers like Lero, for instance. • Didn't know that workers at container docks have an injury rate 3x that of construction work and 8x that in manufacturing. In the past, many people died while being at work. Not surprising when you read how they need to load and unload tons of goods every single day, all the time, no matter the weather conditions, for a low pay. Or how they need to handle both delicate fruits and very long copper bars that don't fit in a barge, so they have to bend them with bare hands, "going home like orangutans". Surprised to hear that in many cases muscle was said to be more important than machinery. If I understood correctly, containers can hold anything, from cars to illegal migrants, every container weighting tons. Tightly packed ones may need to be unloaded directly at the dock, where many stakeholders can appear in place: customs inspectors, buyer's representatives, produce dealers and others, each willing to ensure that the orders have arrived, are valid and in good condition. Can't even imagine what this looks like. The more we approach the busiest time of the year, the more we need to pay attention to the sacrifices these people make, so that others can receive their things on time for the holidays. And the more patience we need once we hear that the post is overloaded with work and delivery delays are possible. If a small delay can prevent injuries elsewhere, then it is perhaps a good one. • Where the thread ends bit.ly/2Bg0Cx0 • The sky produced its first tiny fractals today. Still not serious though. • Annual glacier ice volumes (1977 - 2016) bit.ly/2jbEcl5. It hurts to see that according to this study, reaching far into the past, almost 25% of the total volume of all inspected glaciers has been lost. • Coastal sea level rise at some measurement stations in New Zealand (1986 - 2015) bit.ly/2zlwUEf as seen in this dataset bit.ly/2zlncBJ. • Rainfall intensity at different places in New Zealand (1960-2016) bit.ly/2zl5Iph. The values here are given in mm. It seems that Milford Sound had the highest rainfall intensity in this time frame. • Mean maximum ozone hole area and mean minimum ozone concentration in New Zealand (1979 - 2016) bit.ly/2j9odUq • Another important problem is the decrease of bee populations. Yesterday, I saw an article which mentioned that neonicotinoids may be linked with that. I don't know what this means, how it can be measured or how and when data can be made available. • Ocean acidification in New Zealand bit.ly/2zjUKQP using the following data bit.ly/2jdJsor. Not sure what these measurements mean; probably an expert knows better how they affect the ocean acidity. I heard that too much acidity can be deadly for fish and maybe other microorganisms. Someone said that fish population worldwide is decreasing and if this is true, we need to understand our impact on the oceans. • Average daily peak UV index value across all regions in New Zealand (1981 - 2017) bit.ly/2zkedR7. This data by the Ministry for the Environment of New Zealand comprises of over 35 years of daily measurements. Averaging on a daily basis across all regions where measurements were made reveals this nice periodic pattern. We can even try to count whether the number of years correspond to the number of peaks/valleys in the diagram. The description of the dataset bit.ly/2zkerYK says that an UV index of 11 is considered extreme, but in several cases the index reaches higher values than that. When we examine the top 10 days with the highest index values, ranging from 13.73 to 12.6 (25.12.1998, 03.01.1997, 23.01.1997, 02.01.1998, 28.12.1998, 15.01.1997, 23.12.2010, 20.01.1996, 24.12.1998, 28.12.1993), we see that most of them were at the end of December or at the beginning of January. The dates with the lowest values, ranging from 0.1 to 0.2 (18.05.1983, 28.07.1992, 03.06.1992, 29.05.1993, 23.07.1983, 07.06.1986, 03.06.1982, 29.06.1985, 28.06.1995, 20.07.1984) were in May, June (mostly) and July. • Median total sun hours by region in New Zealand (1972 - 2016) bit.ly/2jbBbB5 • A short video showing interactive function exploration bit.ly/2jdm6PP. Sometimes it is nice to be able to avoid reloading a big plotting library each time a small change is needed (which is usually quite often). If the cursor seems to move slow, it's partially due to recording itself. • Black-and-white street map of Orlando bit.ly/2jb5CHT. Not properly labeled, since the computation took already enough time and I am reluctant to run it again. • Circle packings can be so beautiful, especially with varying radii. • If you have a large collection of songs, it shouldn't be too hard to make your own application to manage them from within the browser. Perhaps you could find a song you like with 4-5 key presses and play it with a single click. Or create a simple native application. • Noticed that this website works well even on a relatively old mobile phone. Then visited some popular pages through it and the warnings started: "Would you accept this cookie? This one? Maybe this one too? Once or permanently?". Each time a popup appeared, effectively canceling the browsing experience. "Could have been better", I thought. • Tree species with more than 500 exemplars in Rostock bit.ly/2ja14RK. Took longer than I thought it would—there were over 82000 points to plot. • Nice to see that for clothes dryers the removed moisture was given next to the comparative energy consumption. This enabled the moist_CEC index, where the V-ZUG 12006 dryer reaches a value of almost 172 (the lower the better). A model with the worst moist_CEC had an index value slightly over 1014. You can see the best 40 models for which measurements were made bit.ly/2j8PpTh. Once again, the dataset comes from the Australian department of environment and energy. • For the washing machines, I slightly changed the scoring criteria to match electricity_cost_weight * electricity_usage_normalized + water_cost_weight * water_usage_normalized. The electricity cost weight used was 0.1330 (source: bit.ly/2zhzTxy) and water cost weight used was 0.1857 (source: bit.ly/2zhT2PN). If the calculations were correct, a liter water in USA is slightly more expensive on average than a kilowatt-hour of electricity. Since consumption of electricity was in kWh and of water in litres, using the weights would allow to estimate relative operational cost, which is what the score attempts to describe. The highest value reached was 0.282618 (lower is better), meaning that according to this criteria, the most inefficient washing machine is ≈5.8x more expensive to operate than the most efficient one(s). The full list bit.ly/2zhnCcf. • Dishwasher models by their water and electricity consumption bit.ly/2jbfGQR. Note that the first 60 dishwashers on the list were from Fisher & Paykel, which were not shown here in order to include more brands on the list. While the number on the right is a normalized value (in range 0.072594 - 0.859375), it doesn't say anything about the quality of washing, which may be the deciding factor for a buyer. • NetVol to CEC for some fridge/freezer brands bit.ly/2zglrWk • Cooling and heating efficiencies of air conditioners according to the department of the environment and energy, Australia bit.ly/2j77fX1. Highlighted some models that have the highest efficiencies in both categories and then noticed that the top model costs almost 2000 euro. Interesting that many devices tend to be more efficient with heating than with cooling, which I thought was their primary use. • Screen size vs. comparative energy consumption for 1821 computer monitors bit.ly/2j4UeNE. More data could have been even better. • It seems that mining for metals/coal causes the most air pollution in Australia bit.ly/2j7R0ss, at least according to the National Pollutant Inventory bit.ly/2j8BU6l • GDP at current market prices in Singapore (Q1 1975 - Q3 2017) bit.ly/2zgFZOI • I was slightly sceptical what the CyberLink's YouCam software could add to the capabilities of an existing machine. Since CHIP made it available for free as part of their advent calendar bit.ly/2zeEwbE, decided to try it and was pleasantly surprised. It can take images and videos (in my case MP4, up to 1280 x 720, with zoom), which can then be saved to a directory or uploaded to an external service like YouTube. The video quality was good and it captured fast-moving hands well. The interface became simpler once the effects section was closed. If you find youself in a need to record something, present a physical object/product, send a video message to a friend etc., it might be interesting to you. Works on Windows (but download size is ≈380MB). OnlineTV, which allows streaming of most German TV channels, was also a nice addition to the calendar (used an older version that worked nicely before), but the antivirus program prevented me from installing it. As always, if you choose to install anything, you have to ensure that your machine is properly protected. • One disadvantage of some Java projects is that they have code that is hard to browse even after being made public on GitHub. People are expected to look within seven nested directories until they reach a file. It could be that a tool is able to automatically extract the files once loaded, but then every developer is expected to know about it and to be using it. I don't know, I'm not a Java developer, but sometimes I might seek somethink like "machine learning library" where one or more results appear to be implementations in Java. Once I look into the directory structure, it simply defeats me. I think that the term "information architecture" exists for a good reason—the structure of the code and how it is delivered matters exactly as much as the code itself. But this is still not always recognized. • Whether something is built on top of certain technologies (like Kafka, OpenShift and Kubernetes) is rarely of importance to the average person. What they want to know is what the product does, and whether it was created to fix their current pain. Such keywords are foreign language to them; product developers must speak the language of the user. Surprisingly often, product descriptions are either missing/incomplete or made hardly accessible. It is unclear what the unique selling proposition of the product is and why people should buy it. Something that can be fixed. • Interesting to see data that WordPress sites could be slightly slower than websites not relying on a particular platform. But if a requirement sounds like a firm "I need a WordPress website" and no further details are given, then would the designer be happy to engage in work that would make the web slower? Possibly not. • Whenever a client/employer showed no willingness to pay, my willingness to work quickly evaporated. I frequently quit working with others when my interests are hurt and will continue to do so also in 2018. Can't predict what others want in advance, so I cannot serve them effectively unless they took the time to explain it in detail without telling me how I should be doing my work. But if they didn't, it meant that whenever my attention shifted to my next demo, there wouldn't be anyone to disturb me, which is nice too. For this reason, I try to keep my contact list short and question and double-check every addition to it. Facebook and Twitter as platforms already lost their chance to see me again some 5-6 years ago and because of that, you may not be able too. If someone shows no interest to work with me, they can easily find the same quality of service elsewhere, at a much higher price. This doesn't mean that my rates are low. For further details, see the contact page bit.ly/2zebSHF. • Sample plot: "Seeking a relationship between revenue/expenses and outside temperature in a calendar year" bit.ly/2ze4ZpT • Two variants of a four-level grid inspired by seasonal colors bit.ly/2j31fyo. They can be enhanced by populating some of the boxes with low-opacity photos or by other means. • Fatigue takes many forms bit.ly/2j1vntZ • Libraries in Vermont by total operating expense in 2012 bit.ly/2AAaC3Y • Renewable energy generation by source in Hawaii bit.ly/2ylZUIh. Uses this dataset bit.ly/2ylmjp9. • Three quick ideas for C++ code bit.ly/2jGjuKL • "Imagine how much harder physics would be if electrons had feelings" - Richard Feynman • Visualization of monthly retail sales in two categories (1992 - present) bit.ly/2keKj8f. Updates automatically as soon as Census Bureau updates the data. No actual numbers are displayed, but they stay in relative comparison. • The last sentence in the previous bit is partially a reason why AI, at least in its current flavor, does not excite me much. It uses—mildly said,—more computational resources than I'd like to assign. I cannot support a view, which places "software above everything", does not consider the hardware cost or the importance of the problem. If I needed 12 GPUs to run in parallel for a couple of days to update billion weights, I would be terrified that I am doing something extremely inefficient. • Realized that a small amount of SRAM might be a good idea for a gift to a programmer for the holidays. Consider what this means. It teaches one about the need to keep program size small, to think about efficiency and well-defined output before code ever gets written. It highlights that being more efficient with RAM might scale better than being more efficient with the CPU. It shows that small-sized RAM can be extremely fast (tens of nanoseconds or less). It teaches about not wasting resources (e.g. caused by memory leaks), using the smallest thing that could possibly work. It teaches that working within tight constraints stimulates creativity. It teaches about power-efficiency, since this setup uses less gates, which need less power. It teaches about modularity, since the memory of an entire machine can be assembled from many such parts (a person hosted their website on a self-made device). And that modularity on a breadboard has surprisingly much in common with modularity of code. It teaches about communication complexity, seeing the number of pins that seek to connect with other components. That's also a reminder to think about the component interactions in our programs. It also teaches about bit operations (shifts, masks) used to address resources given a pin identification. It teaches combinatorics, since an effect could be achieved by combining different ideas in different ways, leading to similar results of varying efficiency. It teaches a more holistic view, since with a large number of components, looking at the structure becomes more important than looking at minor details, e.g. treating components in clusters. It teaches that hardware in itself is worthless if not controlled by great software (e.g. device drivers, CPU microcode), but also that software is worthless if it cannot coexist with the reality around us or if the hardware is not available. It teaches about tradeoffs (SRAM vs. DRAM). It teaches about the importance of designing clean interfaces—a box with the device hidden inside looks much better than the look of the chips. It teaches that with a bit more creativity, miniaturization can also happen in code. It teaches that sometimes precise craft can require careful design and simulation, minimization of path lengths and crossings, continuous voltage/current measurements, per-component operational range validation and soldering. A chip can be a part of a plan—a plan to surprise now and then after successful projects and see whether people will be quick to solder (maybe even damage) their chips or will wait to get more to be able to build something bigger. They might even cooperate exchanging chips in order to meet their goals. At last, this might help them see their software from the lens of the hardware that will work with it. In my opinion, an invaluable perspective. • Pre-proceedings from NIPS 2017 are available bit.ly/2AYhkjn. This year once again my abilty to digest that much content will be limited. • Found a dataset of museum visits by year and month. My initial idea was to visualize the changes over time, but then I saw the overwhelming number of museums included. If I included all, the graphic wouldn't be nice to look at and if I included few (which ones?), I'd risk to promote them at the expense of the many. Not surprising that internally something stops me to continue. But at the start everything looked interesting and promising. • Christmas seems already well-planned in Berlin bit.ly/2Bc8cbB. Here are the locations of the markets once again as dots bit.ly/2Ajh1jC. Personally, I can't see myself celebrating it, because to me the entire year is 365x more important than a single day. Year, in which I once again created things I care about, which make me alive and which hopefully touched some of you in a positive sense. I cannot ask for more than this and cannot expect miracles from a single day that is like all others. • Didn't know of the refrigerator quality check: if you put half of a banknote inside and half outside it and pull the banknote towards you, it should tear in half. Nowadays greed is expected even at device level. • Having extensive experience in a field and believing that if you can't fix an issue, noone else should be able to is a classic fallacy. The ability to look beyond yourself is crucial. • Some air conditioners make so much noise. If you disregard the vibrations. Not exactly a good stimulus to mind. • A short list of photovoltaic panel producers according to the "Go Solar California Initiative" bit.ly/2AiH22Q. It's surprising how in a relatively short time many organizations have built their own installations for more sustainable operations. The Queensland University installation looked especially beautiful on a photo. • The difference between gyroscope and accelerometer bit.ly/2AcVj0G somehow reminds me of the beauty of vector fields. And of a funny quote by Steve Jobs. • Estimating printing cost of RFC documents bit.ly/2Ac0Uo3 • Interactive map of the air quality index in Europe bit.ly/2zQqBXe • Remember to make everything... bit.ly/2zO9FjQ • Found another interesting CPU related formula: capacity(%) = utilization at CPU base frequency * (current frequency / CPU base frequency). The statement: "A 100% utilized CPU at 1.5Ghz and a 50% utilized CPU at 3.0Ghz have identical capacity." • Advent calendar value estimation bit.ly/2zJ7LAY • Visitors of Chicago public library branches (January - September 2017, log scale) bit.ly/2npQuv2 • A visualization of the current sources of interrupts on my machine bit.ly/2nlEOJC. The USB devices could be my keyboard and mouse; ath9k is the network card. Not sure about the meaning of the rest. Timers seem to be connected with lots of interrupts. • Rarely working to satisfy tools. If a tool gives me a certain score, I don't panic but ask myself first whether the scoring criteria reflect the opinion and the thinking of the tool maker. This is surprisingly often the case. But I cannot exclude the possibility that such an opinion could be wrong. Which is why I don't automatically tune my work to the highest score possible. But I have seen people who do it and then say: "Your site scores lower than it could". They immediately assume that I need their website services. The perceived importance of the various checked criteria can matter more than the final score. Sometimes a design recommendation is weighted equally to a usability recommendation, which is questionable. Behind every single word or line of code on this website a decision has been made. A decision unlikely to be seen elsewhere. • Availability is limited, but the moves which lead to it are even more so as risk can be really expensive. Here is the moment to congratulate Canadians for their decision (they know which). I think it sets a great base for more open conversation in the future. One that will hopefully lead to better exchange of know-how, new connections and opportunities. It is not that important whether people will choose to risk or not, but that whenever they do it, they can rely that their decision will be acknowledged. Seeing more countries following this example would make me even more positive about the future. • Most processors are quite intelligent: when not utilized, they enter power-down mode and stay there for as long as needed before entering normal mode for a short time once again. We could learn from that and integrate this idea in our work as well. There is no reason to work at 100% all the time when we are not appreciated at 100%, personally and monetarily. And we can scale down our effort to self-preserving 0% (with processors the current could be in the microamper range) in case we notice forms of disrespect or discrimination. A similar idea was introduced in an article some time ago, which stated that the right way to respond to low payment offers at an interview is by saying: "Well, with that remuneration I won't be able to provide you with (list of functions). Would you then still agree hiring me?". This might sound rude, until you realize that the role of scaling down potential future long-term effort is to ensure self-preservation. It demonstrates a thinking, self-respecting individual who isn't mechanically accepting offers and who understands that only good resources enable them to do good work. What I would like to observe from first hand now is whether a processor truly draws exponentially more current until it reaches 100% utilization. If that's true then we should be asking ourselves whether our "always 100%" lifestyle isn't a high physical tax we pay. • Significant effort that didn't lead anywhere is a wasted effort. Operation under such conditions is simply not sustainable. • With incomplete requirements or unclear goals even the best execution might be seen as "broken" at the end. Can the customer be made happy by providing this solution to them? If not, we are probably working on the wrong project. Requirements elicitation helps to spot problems early and prevent both the developer and the client from wasting time on a bad project. And since it helps both parties keep their face, it is not optional, but rather detailed. If a client insists otherwise and shows that they don't appreciate their own project highly enough, then there is no reason why the designer should do it. Working while the requirements are unknown/unclear is always a mistake. • MySQL utilizes "hero" functions of several screens. Possibly explains why it doesn't work for me. • Root mean square error (RMSE) can be defined on a single line bit.ly/2ngfvbX • Average speeds and car parks occupancy in Birmingham bit.ly/2zAkfLb • Streets in Birmingham on which more than 90000 motor vehicles passed each year from 2000 to 2015 bit.ly/2zz5YhP. There seem to be only two meeting the criteria: A38(M) and M6. • I heard that inspecting streaming data should happen in real-time (single-pass, no-store), but did not know that aircraft engines could have so many monitoring systems which send information to ground stations at high sample rates. A clear case for the need of efficient algorithms on streaming data, because learning something late might be too late. • "More than 480 web firms record 'every keystroke'" bbc.in/2neHlpf. Some even record your entire life, but that's another story. • Trying to understand the meaning of the sentence "We are less us than us" directed me towards this table bit.ly/2nfrXsD in "The microbiome solution" book. After reading that there are about 100 trillion organisms living in the gut (separate article), I was wondering whether there was some smaller dataset available at least to learn about some of the more common types. This is not a small-world graph. • Saw a radar chart presenting multi-dimensional information and reminded myself about the one I created a while ago. Still surprised how succinct, space-efficient and data-rich these diagrams can be. • An attempt to isolate objects in an image bit.ly/2iYv6sc. After the thresholding, some color came through. Fiddling with the details started to take too much time on my machine, so I left it. • A device with good technical characteristics and great design, but bad usability may still not find acceptance once in the hands of the end user. • Path through sightseeings in Paris bit.ly/2iXppe1 • Never heard of the Wisconsin breast cancer dataset. Here I tested some classifiers on it to see whether they can recognize the tumors bit.ly/2BgmGTG. Noticed that if the data was not pre-scaled, the accuracy of the SVC classifier could fall to 0.70. Used the StandardScaler, but then remembered that RobustScaler might also be beneficial (it was). The performance of logistic regression (for classification) was slightly surprising for me here (first time using it after hearing only good things about it all the time). But this is a relatively small dataset, where with more data the results may vary. Update: The ROC curves of four of the classifiers are also available bit.ly/2iWXHy9. • A while ago I had the idea to compress an image and compare the output to the input to visualize which pixels were touched. The result was not very informative, since with very few exceptions almost all pixels were affected. But I guess this depends on many factors and likely on the particular characteristics of the image itself as is often the case with image-related algorithms. Anyway, if you find this interesting and have the time for it, you could easily do the same. • While returning a number to take something back, my eyes unintentionally saw an employee working at a nearby monitor. One would think that a big, international retail company would have the resources to improve the interface on which employees work every single day. Surprisingly, not so. • Interesting how many noise complaints in San Francisco were reported over the web (almost as many as by phone). The web system must be very useful since the reports over mobile/open311 are 1.7x less. Not sure why vehicle maintenance noise is so common. "Amplified sound electronics" noise appears on the 5th place, but is more common than noise from traffic, entertainment or public construction, at least in the data provided by the city. • Finding the strength of pairwise relationships among features in the FIFA dataset bit.ly/2iTlG0Y • Measuring variation with z-score bit.ly/2BbPigL • 30 seconds of code execution on a fresh Vim installation bit.ly/2iPR6Wc. Does not seem to play well with video recording. But Netrw has a great feature allowing you to open images, papers etc. with a single keystroke. Not sure why, but the papers seem to load slightly faster this way than through the regular file manager on my OS. The few images I opened did not render at their original dimensions, but were for some reason scaled to either be too small or exceed the screen size. As a result, scrollbars appeared and I had to manually resize the pane and use Ctrl + +/-. I noticed that the images were not opened in ImageMagick, but in the PDF viewer too. So there is perhaps an option somewhere that fixes this. • "Our company is an equal opportunity employer and doesn't discriminate based on x, y and z." Can't trust such marketing statements. Discrimination starts from a very young age (by saying you want the Haribo and not the Kinder), so I see no reason why at the workplace it should be non-existent. It even flourishes there. A company with a similar statement will find it hard to involve me in a conversation. • "In order to grow, private companies need to attract and retain high-performing employees which can be a difficult proposition, given that the base salaries within public companies are generally higher than those at private companies." It's easy to suggest this. But low payment (at the publc company), zero respect, zero support in learning, lack of advancement options, lack of clarity about priorities/goals, daily meetings, rumour spreading, internal politics and others have all contributed to making the choice much easier for the high-performing entrepreneur. "If you want to go fast, go alone; if you want to go far, go together." - African proverb. Plenty of big companies, where many people worked together, have gone so far that they don't exist anymore. When words like this are used in front of you, be aware of the intentions behind them. Possibly to make you share what you know with your team for free. Because of the inability of many employees to recognize such subtle practices, many companies today continue to operate on their back. • Robots/crawlers seem to be cheap and easy to manipulate. Just mention a keyword that has nothing to do with what you intend and see them looking around for more nonsense. This site is made primarily for you, because you are much more valuable than the average robot. And you can much more easily sense what these robots can't understand. • Whenever I find myself in a state "willing to impress", I pause and ask myself whether my current work really matters. Very often, this isn't the case. "Willing to impress" has never worked for me. • Multiple cursors are nice, but I'd like to have them across applications. For instance, keeping one editor on the left side of the screen and one on the right side. Whenever I press a key and hold it down, I'd like to see both editors rendering the changes at their native speeds to be able to gauge which editor has a smaller overhead while typing (again, on a slow machine, to make this more visible). This is because many editors aren't reacting in a very smooth way to feedback and the cursor frequently pauses for some unknown reason. Reminds me of a janky web page, but where the jank has moved at the cursor level. What happened with the 16.6ms requirement? This is of course only horizontal movement, where the speed of the vertical one is also important, the longer our code and documents become. Comparing vertical scrolling needs to be possible as well, because it greatly affects the speed at which we can access new information. Some editors become noticeably slower with longer text. Just adding the line number then can take a lot of time, which severely interferes with typing. Or they use spell checkers, code style checkers, inefficient autocompletion (taking lots of screen space where maybe only few options are important) and others that make the editors unresponsive. Some people have chosen to work on many small documents, but this only circumvents the problem without really solving it. Now the complexity is handed to the individual, who will have to select the right file among the hundreds available. I would also like to know which translates into less I/O operations: working on one large file or on 20 smaller ones, opened simultaneously. And the switching costs of both. Also the time required for search within the document and whether it is connected with a new window that is hard to close... • That said, my configuration also isn't secret amzn.to/2AZFJ4t. This laptop and what I learned have enabled the hundreds of demos on this website. On such a slow, single-core machine you can quickly see any inefficiencies your code might have. You can also easily evaluate the quality of the software pushed online or see that the stars on GitHub may not guarantee it. In case the code monopolizes the CPU, it wouldn't matter much that AI techniques were used or that a beautiful animation was rendered, for instance. Wasting CPU cycles to be able to speak in a modern language, or compute for the sake of computation, is not a good use of machine resources. Being slow, the laptop also produces less heat and noise and wastes less electricity (a peak of 16W, according to CHIP). It is lightweight and likely suitable for traveling (new battery could last ≈7-8 hours). Has 3GB RAM (expandable to 4GB, maybe more) and 320GB Hitachi disk (could be eventually replaced with SSD), which were enough to me in most cases, except when trying to learn from really big datasets. An external monitor like LG 2361V (TN matrix, not IPS) allows me to read at 1920x1080, which for long texts/specifications/documentations is not only convenient, but necessary. But working on it is not completely strain-free, especially after long hours. Needed to attach a keyboard (a relatively cheap, but not bad Cherry KC1000), since the "e" key stopped working (then I started seeing how often this letter appeared everywhere). Bought the laptop second-hand with Win7 preinstalled and had to wait for it a month. Then it came with a broken USB port and a missing latch connecting the body to the display (so that the cable there is visible). The BIOS was also inaccessible. Yet, somehow I learned to live with these defects which were not disclosed in advance. Found that it worked really slow in Win7, especially when copying large amounts of files (could easily take many hours). After switching to Mint and latest kernel, I was amazed about the file transfer speeds. HD video watching on Win7 was almost impossible; now there are cases when a video runs smooth at 70-80% CPU utilization. Although this configuration has served me well, it has also constrained me in being unable to achieve more. As they say, first you own it, then it owns you. • It is worth reminding that having a 10x faster machine than someone else isn't a sufficient reason to claim that they have suddenly become 10x less productive or that they deserve to be paid 10x less for their work. This is a very fast way to end a conversation before it has even started. Worth mentioning it since some people continue to seek significance through the hardware they obtain. This can be seen in various forums, where instead of simply saying their name, they are listing their entire configuration in the smallest detail as if it mattered more than who they are. If the goal is to make others feel inferior, there will always be some quick way like this to do it. • Observing the SPEC CPU2017 performance results in 3D bit.ly/2B02tS7. What I learned from manual rotations locally is that a Xeon Platinum 8180 @ 2500Mhz with ≈220 cores and slightly more than 3TB RAM almost reaches the performance of Xeon E7-8890 @ 2200Mhz with ≈400 cores and slightly less than 4TB RAM. Unfortunately, stopped changing azimuth and elevation early, mainly due to the performance of my integrated graphics. • You can also turn off some devices in your laptop that you use very rarely or not at all. Touchpad? Having a mouse. Network interface for cable Internet? Using WLAN (another interface). In need to be constantly connected to the router while reading locally stored papers or reading/writing code? Turn off WLAN. Bluetooth enabled all the time? Off. Print spooler, SD card and/or other services? Careful. Browser having 20 tabs left open? Can be CPU and memory hungry. Sound card? Rarely used. The blinking LED in the monitor? Annoying. Is the monitor shining brighter than needed? Probably more so in darker months, adjust. (Intel: At maximal brightness setting, the monitor could draw 2x the power needed at the minimal.) Having a sound volume option showing in the OSD? Not needed, volume off. Could you use one bigger RAM module instead of two smaller ones? Letting the machine sleep after being inactive for 30mins, while turning off the monitor earlier? Would you choose suspend (to RAM) or hibernate (to disk) at night? You probably have a lot more ideas than me, but they will be specific to your machine. • Sorted the lightbulbs by efficacy on the EnergyStar website, which allowed me to see exactly the result I wanted without having to obtain all the data and spend time analyzing it myself. The best ones achieved ≈133.3 lumens/watt, which is up to 3.3x better than anything I have seen so far (cannot speak of the quality of the light itself). This means that 2 newer lightbulbs taken together will shine stronger than a chandelier having 5 "energy-efficient" lightbulbs from a couple of years ago, not to speak about a chandelier with 3 classic 100W lightbulbs. So it is not only important to have all sockets filled, but also see how they are filled. There may be an opportunity to remove extraneous lights and only keep as much luminous flux as needed. • Cost savings as a result of EnergyStar certifications in US cities bit.ly/2izQgwx. Even when Washington, D.C. has the most certified buildings, according to EnergyStar, the cost savings in three other cities are now higher. • Seeking volunteers? No. Many companies have been grown by volunteers, since they weren't paying their employees. Not participating in their plans, because it would mean that I support those. Also not freelancing, since I don't believe that skills which were obtained very slowly over a period of many years should be available to anyone at a burger price. The price at which the client wants to be served is also not interesting to me. • Went out of the store, barely able to breathe. Too many people, all cashiers busy. Spent 15mins waiting. Thought: "All these people can pay the store, but can't pay for my web design or programming skills. Really?" Explains why similarly to how I worked in 2009, I continue not to serve those who show even the slightest signs of disrespect. (Non-payment is a form of disrespect.) I prefer to see them only once then. And that behavior I will keep in any situation, any circumstance, in any company or country. Unconditionally. Explains why the contact page hasn't changed since 2009 and why I still continue the appreciate the same basics. • Strange thought added to my diary/ideary: "After classifying mushrooms as edible or poisonous, you must be willing to taste them in order to (empirically) verify your result." Not sure from where this one came. Reminds me of the ancient architects who built arcs and then spent time below them to ensure that their construction wasn't life-threatening. • Learning about electricity from wind bit.ly/2ASF4li. At least in Europe some numbers seem to have changed since 2013 bit.ly/2itDdNi. • Sometimes the result of your code surprises you just to find out that the initial data you started with is spurious or hasn't been collected consistently across all observations. For instance, how is it possible to compare CO2 emissions between cities, when one city reported measurements from 2010, another from 2012 and when the measurements have been made by likely different instrumentation? This makes the data incomparable and limits its usefulness. Or how can we find which cities have a similar electricity generation profile (mix of coal, gas, oil, nuclear, hydro, biomass, wind, geothermal, solar, fossil and non-fossil), when it is unclear whether zeros are true zeros or stay for missing data. Then cosine similarity would not work as expected, placing Paris, France next to Vitória, Brazil and Caracas, Venezuela. Garbage in, garbage out. • "I'll be in Phoenix tomorrow and would like to prepare something with jam and (crushed) nuts, but don't know whether there's a farmer's market that offers them both. Could you help by pointing me at a concrete website?" (Head scratching, dataset load, script execution). Only result: http://www.uptownmarketaz.com. • One restriction of the web that still hasn't been removed many years later: million items. When I started with web design, I wanted to see a color picker that shows each individual color (you can still see how it looked on the main page). You might say that my initial idea was stupid and that "in no way" should I have attempted to render million items on a page. Or that the web simply hasn't been made for this. I have a different opinion and see it as a restriction of the web platform. Because I cannot exclude the possibility that valuable problems with size larger than a million exist, whose solving deserves to be possible on the web. (For now, suppose someone wanted to show you an interactive version of the genetic code that determined your illness.) So I am not simply speaking about rendering million splines, million polygons with 10 vertices each, million images and so on. This wasn't my goal. I wanted million simple DOM elements with background color mainly to see the maximal problem complexity that the browser can work with. Or at least a canvas element that would enable the equivalent. You can imagine that nothing worked. Today the problem sizes are even bigger than the ones from ten years ago. Datasets of terabytes are available for donwload and they likely contain a lot more instances than a million. I remember that back then, rendering 60000-80000 elements took 30-40 seconds; yesterday I found that a simple addition to an accumulating variable billion times (or 1000 millions) in C took me around 3-4 seconds. The number of iterations is 12500x bigger while the time is 10x less. I understand that C didn't have to concatenate or parse the string as HTML and render it or show a browser interface, but sometimes I wonder where all the speed invisibly disappears. • If the web continues to become slower over time, the big winner from this will be fast native applications, new operating systems and updates that make them faster. It becomes cheaper to donwload 20 papers at once and read them offline in a fast native PDF reader than to pay the cost of waiting for the Arxiv to load 20 times and to download a single paper for viewing in the browser. People will also start spending less time on the web when it no longer matches well what they are looking for. Linux and Chrome, for instance, appear to take a different approach—they have become slightly faster with each new version. But even so, this cannot reduce the overall site delivery time, when the size of the content has grown much faster. • If you gave me your 4MB web page, I would probably reduce its size ten times and still believe it was too big. Unfortunately, 3-4MB is on the way to become an accepted reality with expectations that "users find videos more engaging, so we need to have them". Personally, I don't watch videos as I find that my time is not well spent on them. The last full-time movie I watched was many years ago. In addition to the multiple JavaScript frameworks found on many sites, what happened with the content? It became a filler, saying mostly nothing, lacking substance. To find a valuable sentence means to spend an entire afternoon reading content of questionable value (which is likely why videos become increasingly popular). "Page size isn't the right metric to track, but perceived performance". Please, do not say this in front of me. As if the browser won't have more work to do once it registers an interaction. As if it won't have to download these chunks of now increased size. As if it won't need more parse and execution time. As if it won't waste more battery during the interaction process. As if it won't need more storage to cache the content (have you tried to clean your browser cache recently?). 4MB are 4MB when downloaded fully, no matter how we look at it. It is not that this single website will determine how the web "feels like" or how fast it is to browse, but each site will contribute. Especially on slow networks and devices people will feel the difference if they intended to learn and found that this can start 20 seconds later, for each website they visit. Can't imagine the cost of this on a world scale. • Disliking datasets with potentially lots of content, but with screenfuls of missing data. A waste of storage and CPU cycles. bit.ly/2ijlRma. Heard something about mechanically replacing the missing data with the average... • Wheat, rice, maize and soybean production by country over time bit.ly/2AKwTHL. Original data: bit.ly/2ihIQhu. Seems like some countries are capable of projecting 10 years in advance. • Checking nearby stations bit.ly/2AHo7ui • Currently available bikes and docks at bike stations in Barcelona bit.ly/2igdOpU. Learned that I shouldn't try to open unexpectedly big XML files in the browser (machine became unresponsive for ≈10 mins). Interest for the city came after I saw a publication, which ranked the city at the second place among the most open ones. The article mentioned that it used data to adjust the intensity of city sprinklers based on the predicted precipitation. I expected most of the information to be available only in Spanish, but was pleasantly surprised that English text was available too. • 88 million trips since 2010 bit.ly/2icvcMt ↗. Single graphic (stacked bars) showing the cities where biking is most developed (also could help to look for more data). It is interesting that in 2012, New York was almost non-present, while in 2016 it reached the largest ridership base. The cyclist on the left is a nice addition to the chart, which tells me what it is about. I like it. • Annual wasted fuel due to congestion bit.ly/2icF2Oc • Saw a photo of the giant screen on which Alibaba tracked the number of sales in real time (on its last big event). • Current bike and dock availability at various bike stations in Toronto bit.ly/2Ayni6U. Updated: Fetchng the data asynchronously reduced the load time from approx. 3.42s to 1.62s (measured only once). • Median electricity usage/day at various council buildings in Bath & North East Somerset bit.ly/2i8dAB8. You can see the distributions for the top3 buildings by the hour. Original dataset: bit.ly/2i9LQMT contains information licensed under the Open Government Licence v3.0. • Libraries, fitness centers and parks in Huntsville, Alabama bit.ly/2i9udwo (via the city of Huntsville open data portal) • Actual travel speed in Adelaide, Australia (1994-2014) bit.ly/2i7meQw. Somewhere I saw mentioned that the average travel speed is very important performance indicator for roads. This dataset shows that it isn't static, but changes during the day. If it decreases too much, this may indicate congestion or a newly arising need to modernize the road network. Economies which can transport people and goods faster, have an advantage. This means that we can compare data across several cities to explore if there are opportunities for improvement. You can also explore how the travel speed changes by route bit.ly/2i8hdqM. • Beer consumption per capita, grape yield per hectar, wine production per capita, wine consumption per capita by country between 2000 and 2009 bit.ly/2i7Zn7k. The dataset is provided by the Wine Economics Research Center at the University of Adelaide. Grape yield per hectar shows that there is probably some unused potential in some countries. Wondered who drinks all these bottles of alcohol in the stores. • Locations of the litter bins in Adelaide, Austrlia bit.ly/2AxReQp. Also enjoyed the historic images of the city, made available by the city council. • Tourism expenditure in South Australia over time bit.ly/2i6KQsx • Features of the parks in South Australia bit.ly/2i6oJT7 • Hourly measurements at Civic, Florey and Monash air stations in South Australia (near Canberra, 2012-2017) bit.ly/2i59QQW (data source: bit.ly/2AvNJtK). Did not include all air quality variables (excludes NO2 and CO). Initially wanted to make an interactive demo (showing the graph only when over a station point), but then decided that I would need too many line elements. Transforming a big dataset each time it has been downloaded didn't seem to support what I wanted: fast real-time usage. • Passengers served by year at different airports in London (2004-2014) bit.ly/2AxDGEB. Via a dataset from the London data store. The numbers give the impression that Southend was growing quite fast. When we put the numbers in context, we see that in absolute numbers Heathrow has grown more, but relatively to the starting period, 2004, it grew only 1.093x, while Southend grew from 3224 to 1102260 passengers, or the equivalent of 341.89x. Really impressive. • According to this dataset bit.ly/2Av4ncS, in 2010, actual energy electricity usage/unit area at Wyndley Leisure Centre was more than three times higher than that of the Leeds City Council. Aqua Vale, which is a swimming and fitness center ranked third. In 2008, Birmingham City Council was first. • Libraries in Birmingham bit.ly/2i1qqBm • Nights at accomodation establishments by region in Steiermark, Austria bit.ly/2i2bIKq • Weather conditions in Salzburg, Austria at 30-minute intervals bit.ly/2hZfZhK • Au Bon Pain lists the ingredients, serving size and calories of each soup. Brain: "Predict the calories based on...". Internal voice: "Small training set? General enough? Don't think so." • Used data from Wikipedia, a contour map and canvas to plot the 50 biggest cities in India bit.ly/2hWCC6b. Some labels have been hidden to avoid overlapping text (if you look at the code, you can see which ones). Learned that Howrah is a twin city to Kolkata and that there are many big cities near Mumbai (including Navi Mumbai, which I never heard about). The same is valid around the area of Delhi, where I needed to hide three more labels. Without interactive elements, the total size has become 15.8kB. Drawing on canvas requires JavaScript; the same could have been achieved if through a server-side language we generated an SVG. However, an SVG would use 100 elements only for the points and labels and a single path element describing the contour map, weighting 99kB. With canvas, we use a single element. • Street trees with more than 1000 exemplars in Waterloo, Canada bit.ly/2AnSmpJ. The grey areas indicate other tree types. This time I didn't include the concrete counts. • San Francisco Airport monthly utility consumption for natural gas, water, and electricity bit.ly/2AmKa9m. The periods when the data was captured range from 01.2010 to 09.2017. • San Francisco beaches water quality, total coli concentration (14.08.2017 - 07.11.2017, weekly) bit.ly/2AmUyxI. The source dataset was said to be "not updated", but actually contains some recent sampling dates. This allows us to show a page with the latest measurements if we knew the thresholds that separated the categories "good", "fair", "bad" and so on. Perhaps you have an idea how to make an app from it rather than a simple visualization. • Average weekly wage by sector in Virginia (Q1, 2017) bit.ly/2AnMBbR • Libraries in Virginia Beach, Virginia bit.ly/2hWl7TJ • Trying to understand some tabular results obtained from the Swiss food composition database bit.ly/2An6PSK. A following on my two other tables from USDA and matvaretabellen. Each result says something and in the unity of all current and future sources we might start seeing patterns which appear more frequently. But we'll see. • Types of street trees with more than 1000 exemplars in Belfast bit.ly/2AkbtRE • According to a study of some trams, covering their wheels to make them invisible could reduce noise by 6-9 dB, which I found interesting. But saw many trams in Germany, which followed this design. • It's very hard to concentrate on an article when things like this bit.ly/2hSVbs7 always find their place. Some people still believe that the web must be exclusively for ads. The web designer should have said: "No, this distracts from the content". • Top50 IT companies in Austria for 2014 by revenue/employee bit.ly/2hReSRb. The picture for 2017 might look different in case it becomes available. Learned about some companies whose existence is new to me. • Current air quality at air stations in Zürich, Switzerland bit.ly/2hQhejh • Nice to see that some places update the information which streets are closed every ten minutes. Some small applications could be built this way (but they probably shouldn't). • Schneckenförmig bit.ly/2hPy4yv • Very often, once you start labeling all variables and functions descriptively and not just as placeholders, you see that the new code starts to come naturally into its place. So whenever you want to make it work fast and now, check whether you are reaching for the placeholders. • Computing the profits of a bakery on a given day bit.ly/2AfgtqM • PM2.5 air quality at air stations in Singapore bit.ly/2hLCab8 • Interesting that container and cargo transport are two different things bit.ly/2AdaD97. A sample graphic how their throughput changes over time. • Learning which interesting features water has bit.ly/2hKzrOT • Utilization and vacant places of parkings in Singapore bit.ly/2AdBC4x. It is not easy to tell whether all parkings report accurate data, so please be aware that I have no way to verify it. I would prefer to have the names of the parkings and their locations as well, but since it isn't available, it limits the usefulness of the page. But if you know the initials of your parking place of interest, you can search for it with with Ctrl+F. May take a while to load. • 4-day weather forecast for Singapore bit.ly/2hMHxXE • Waking up/warming up with floor-covering teracotta pieces bit.ly/2AcYwJ5 • Climb/fall bit.ly/2hImJQZ • Discovering good hotels in the Los Angeles area on the Orbitz website bit.ly/2hJNVin • House spotting, Memphis @ Zillow bit.ly/2hF9dgO. You could also use the pieces of available data to construct normalized vectors and seek which houses are most similar and which are different. Perhaps the addresses can serve as names of the nodes and the distance as weight in the generation of a graph. • A minor contribution about the problem of domestic violence bit.ly/2hG1krz. What is still missing is a scatterplot of the medians of the two variables for each county. • Water usage in Santa Rosa, Calfornia over time bit.ly/2A6CWpD • Although you can, I wouldn't recommend omitting big commented HTML chunks in the code for every item you include. Plenty of kilobytes for nothing to show. • Had the idea of trying to produce a small map of the parcels in a given region, but so far I am not finding enough data. Yet, I found a sample cadastral data bit.ly/2hCTNK2, which produced this nice image bit.ly/2hCUPpo (could have been eventually an interactive SVG) • Converting bytes into other units bit.ly/2A6eQvd. Uses an idea found in Trillinos, where bit shifts are applied. • Looks like I am missing something in the formatting of grid-template-areas bit.ly/2A4F3dy • "(W)ego: The future city is flexible" by MVRDV bit.ly/2A2efL6. Looks very self-contained to me. Staircases either to the solar top or the bright future. No blue legs. • Frequent items in transaction sets bit.ly/2A06e9A. Mainly as an illustration of an idea. A timestamp next to each transaction would normally also be available, enabling us to explore how people's tastes change over time. • Location and type of the noise sources in New York bit.ly/2zY7b24. The graphic looks slightly distorted, but hopefully the legend is readable. Darker regions indicate more cases that on such a small map overlap. Most people complained from loud music/parties, banging/pounding and loud talking. However, I was looking for concrete dB numbers as a base to determine which is loudest. In this dataset, this information was not available. Also, I was interested to find something about rail noise, but don't know in which category to look for it (probably "Other"?). I was reading something about it (and remembering the reportage on "Deutsche Welle" about the trains which passed too close to the houses of some people), which prompted me to look for more. • Which catalogs have you seen that you found most inspiring? Is there something you can do about them to create a beautiful demo/application with the information they contain? • Simple border effect bit.ly/2hti6tQ. Like in the convolution demo, the image was taken by Andre Benz and uploaded on Unsplash. • Visualizing the weight of transported goods bit.ly/2zWNo30 • Convolution of a detail-rich photo bit.ly/2z9fon1. The kernel used was [[-2, 1, -2], [1, 4, 1], [-2, 1, -2]]. The result has been inverted. • I also realize that I cannot possibly serve everyone or work on any project. My time is limited, which means that my work is too. • "Qualified" people aren't free. Not sure why employers continue to expect them to be. In general, I could give anyone only a single chance to pay well, according to what I consider a good/great payment. If they waste it, no future work with me. They are free to look for the same service elsewhere. If you doubt my words, look around to speak with the people who already wasted their chance. • Traffic incidents in Baton Rouge, Louisiana (2016) bit.ly/2z2HtfM. Also a hexbin view is available bit.ly/2yXP0Kx. • Public art in Tempe arcg.is/2yXhcgz ↗. Always nice to see things like this. • Crime in Orlando, Florida bit.ly/2yYUwNh • Annual crime per 100000 citizens by type and frequency of occurence in Henderson, Nevada (2010 - 2016) bit.ly/2yXlcOg • An attempt to show the locations, names, websites and phones of the libraries in Dallas bit.ly/2z1XYsu. The right column became less readable than I wanted. A better alternative would be SVG + JavaScript events, but that requires much more time. • Dallas animal inventory bit.ly/2yZkMHm as seen here bit.ly/2yX57Io • Picture of the "total" traffic counts on three streets in San Diego bit.ly/2z2asQG. "Total", because traffic may have been measured in any of the north-, south-, east- or westbound directions and this number would refer to the sum of all of these where available. This distorts the results quickly and makes them incomparable. The measurement days were also not sequential, but spread over time. Sorting by total count showed highest numbers for the streets "N Harbor Dr.", "Fairmount Av.", "Mira Mesa Bl.", in that order. If we were quick, we could conclude that "N Harbor Dr." is the most loaded street. But once we plot all spurious data we have, making ourselves only an incomplete picture, we notice that most of the time "Mira Mesa Bl." has registered higher traffic counts than the other two streets despite the fact that many measurements were made for them too. The spikes for the other two streets were relatively rare, considering the range where most observations about them fell. Still, we cannot say that one street is definitely more loaded than another, but the picture gives us some hints. • The data about the properties owned by San Diego bit.ly/2z26jMC shows it has only four whose area is over 10km2: Ocean Lands (144.35km2), SD-LJ Underwater Park (24.18km2), San Pasqual Valley (13.26km2) and Mission Bay Park (11.59km2). Still, these are huge areas. • Street light locations and wattage in San Diego bit.ly/2yXWc9s. Exluding the lights whose wattage was not given, the total electricity consumption was ≈4.79MWh. • Tree species with more than 1000 exemplars in San Francisco bit.ly/2yXQDbp • Historic daily solar photovoltaic generation at different properties in Leeds bit.ly/2z2Q0zh. Uses the following dataset bit.ly/2z2KxZ1. • Tree counts for Denver bit.ly/2yWZsSJ. The coordinates of the trees were not given, so no graphic this time. • Tree species with more than 500 exemplars in Cupertino, California bit.ly/2z24lfq • Locations with the highest wattage savings from street lights in Elk Grove, California bit.ly/2yVbVpO • Can't possibly show all public art images from Baltimore, but this one looks as if the chair would fall off the building bit.ly/2z28C2c. Do you think it would look differently if you changed your viewing angle? • Customer waiting times at different service centers in Queensland (01.12.2009 - 12.09.2017) bit.ly/2z2dVyP • Total visits of the Adelaide library between 20.06.2015 and 17.06.2016 bit.ly/2z01xiN. Didn't expect to see so much variability. Especially interesing were the days which registered one visitor in total. Perhaps this person cares too much to miss a single day. • Most common street tree types and their locations in Adelaide bit.ly/2yW1IJX • Residential per capita consumption of water by district/city in San Mateo county (2008-2012) bit.ly/2yVk79D • Median household income and percentage of families with income below poverty level in San Mateo county bit.ly/2yZFOHy • Air quality at Hong Kong measurement stations bit.ly/2z0SaiM. Now that the data is available, we can create simple visualizations like this one bit.ly/2z09Bjt. Knowing the measurement units helps further. • Traffic cameras in Hong Kong bit.ly/2yTjTjt • Current beach water quality in Hong Kong bit.ly/2yXDLUE • Labor productivity index in various sectors in Hong Kong, relative to the year 2000 bit.ly/2z0odiG. According to the data bit.ly/2yUkmlo and the graphic, five sectors exhibit faster labor productivity growth than the information and communications sector. • Government IT expenditure in Hong Kong bit.ly/2z0PUZ3 • Parking place utilization in San Jose, California bit.ly/2yZO4HR • Common names and locations of the trees with more than 500 exemplars in Santa Monica, California bit.ly/2yU05fP. The sort order in the legend is columnwise: most common tree is Mexican fan palm, then Indian laurel fig and so on until Queen palm. Loving the attempt to make entire streets follow a common theme (look at the long orange, yellow and green lines). Grey shows trees of other types. Among the street lights, some of which possibly illuminate the trees bit.ly/2yTRKst, we see that the median of those with a given consumption is 100W, but the average comes at ≈208W, perhaps driven up by the 1500W (MH, likely metal halide) units. • Murders in the last 90 days in Oakland, CA bit.ly/2yWNg6m (static image, won't update) • Seating capacity at arts spaces in Barcelona bit.ly/2yS1tPW. The biggest four seem to be Teatre Tivoli (442691 seats), Gran Teatre del Liceu (285030 seats), Teatre Poliorama (245096 seats) and Teatre Victoria (201181 seats). Still can't imagine how ≈450000 seats look like. Given the number of big theatres, the city certainly has a long-term tradition, which is new for me. • A nice feature of the Luxembourg airport site is that you can type your email and be notified when a particular flight has arrived. The flight radar where you can see the realtime positions of the airplanes is also nice. • Magma-plasma stripes drawn with PIL bit.ly/2yWZlbN. Nice that I could directly use the precomputed data from pyplot without having to import it bit.ly/2yQXZND. Preferring numerics over imports. • Birthday. And a tiny notebook with a small zebra on it. • EU funded projects (as of 26.10.2017) bit.ly/2yQvhMI • Consumer expenditure by category as percentage of total annual expenditures (Source: Bureau of labor statistics, 2015) bit.ly/2y5dPY0. Although you can't see it on the chart, according to the survey people spent the least on reading (only 0.2%), where they spent 0.6% on tobacco products & smoking supplies and 0.9% on alcoholic beverages. Even when education in general comes at 2.3%, it is somewhat saddening to see that 5.1% is spent on entertainment. This shows that most people don't see their education as a priority. Interestingly a large percentage of the expenditures goes for social security and preparation for retirement which I think stays in stark contrast to the priorities in many other countries. • Understanding color palette abbreviations bit.ly/2lhqjWy • Map of the Texas counties (125kB) bit.ly/2leTpFJ. Traced from an image; may contain incorrect labels. • "The chart will appear within this DIV" (but it doesn't) bit.ly/2ld97Bb. Missing content enables the teaching of terminology. • Someone made this nice visualization of the Wuppertal's budget for 2018 bit.ly/2launYg, which reminds me how very often data tends to be hierarchical. • Visits by month of the Newcastle library branches (04.2008 - 07.2017) bit.ly/2y2eDNi. Some libraries noticed a strong decrease in the number of visitors since the middle of 2016. If you see a disconnected line, it means that no measurements exist for that period. You can also see heatmaps of the resource consumption of the City branch bit.ly/2lbGJj8, where the data comes from GitHub bit.ly/2lcIX1E. • Traffic news from Frankfurt/Main bit.ly/2y2cHnI • Current parking facilities occupancy in Frankfurt/Main bit.ly/2y0P4fk • An attempt to combine metro lines with stops data for Vienna bit.ly/2xZPjHA. My expectation was that the points (metro stations) would be positioned exactly on the lines. But it seems that the data is incomplete. The lines are disconnected at several places and there is a strange offset between the elements. Both datasets come from the same source bit.ly/2l9qyTf. • Renewable energy production by type in Vienna (2005-2014) bit.ly/2y1cMYT. Unfortunately, it doesn't look convincing to me until it can be backed by several other sources. • Borrowed books by library branch in Vienna for 2014 bit.ly/2xZEpBN • Locations of the public toilets in Melbourne bit.ly/2laj6Yf • Median house price and number of transactions in Melbourne (2000-2016) bit.ly/2lbd8Go • Soil composition at different depth levels (0-400m, 400-700m and 700-1000m) at various locations in Melbourne bit.ly/2l9qDGz (data: bit.ly/2l9DGrr). Not sure that this is the best visualization I could have made. Vertical labels are hard to read and for some reason GIMP renders some of them slightly bolder even when the font is the same. Learned that there is a difference between sandy loam and loamy sand, because if careless I would have made the mistake to merge the values. Good that small errors in the dataset allowed me to reduce the labels from 17 to 14. • After the prevalence of green ashes in Boulder, Colorado, it's once again nice to see slightly more variety of tree types in Melbourne bit.ly/2l8YNub. The number of trees by year planted bit.ly/2laNSjp indicates that the top 5 years when most trees were planted were 1998, 1997, 1900, 2015 and 2012. • Public art in Albuquerque bit.ly/2xWVxYN • Brisbane live events bit.ly/2xY85yX • Statistics for the library in Cologne, Germany (2010-2013) bit.ly/2xZisCC • PM2.5 particle measures at air stations in Florida bit.ly/2xWyYU5. Medians for some stations in the last year: Azalea Park 6.9µg/m3, Tallahassee Community College 8.3µg/m3, Fort Lauderdale Near Road 9.3µg/m3. Surprised to see that Florida has small cities called Melbourne and Sydney. • Between 01.09.2017 and 22.10.2017, the city of Winnipeg, Canada utilized ten units to measure air quality, each of which made 300 measurements spread across the three categories temperature, humidity and PM2.5 particulates. Among the 1000 measures of PM2.5 particulates, we compute a median value of 9µg/m3 and a maximum of 58µg/m3. As you can see in the distribution bit.ly/2l7thfT, most values are exactly 0µg/m3, but this may also be a sign that the measurement unit was turned off, for instance. Even if we exclude the zeros, we still come at a median of 14µg/m3, with most observations being less 20µg/m3. According to the previous air quality table, this means that most of the time, the air quality is good to moderate, at most. • Color Brewer palettes as hex colors bit.ly/2l6HREG, preformatted for easy pasting into brackets. • NAAQS air quality index bit.ly/2xXqhZR • By switching 181872 street lights from high pressure sodium to LED, Los Angeles reported annual energy savings of ≈$9.7 million, which is an average of $53.29/streetlight annually. The cost of the average LED was not given to see when the investment will fully pay off. • Traffic cameras in Vancouver bit.ly/2xWbfUd • Number of employees in the manufacturing sector in Munich bit.ly/2xWMw1U • Libraries in Oklahoma, USA bit.ly/2xWa1Z0 and Vancouver, Canada bit.ly/2l7Ri6v • US cities ParkScore bit.ly/2l68PfB. If you don't know, the two distant spots are Anchorage and Honolulu. • Photos from traffic cameras in Austin bit.ly/2l5TOKD • Public art in Charlotte bit.ly/2xWp193, Nashville bit.ly/2xWsO6h, Seattle bit.ly/2xWFD0F and Austin bit.ly/2l4E7TX. Resources were extracted from datasets. • Photovoltaic projects by expected KWh annual production in the New York area bit.ly/2l4sI6F. I used this dataset once, but didn't plot the locations. I could count only 11 red dots for all top 30 locations, which means that they can be seen as point clusters, potentially hosting multiple projects. The top project expects 6737.27 MWh/year. • Number of registered electric and plug-in hybrid vehicles in Washington, D.C., according to the deparment of transportation bit.ly/2l6ZUKM • Street light locations, wattage and installments by year in Boise bit.ly/2xVZ6yz. Cooler areas correspond to lower wattage, warmer areas to higher wattage. Although it is hard to see, two lights were supposed to be installed in year 2020, one in year 2024 and one in year 8150 (not shown). No dataset is without its quirks. • Crash incidents in Idaho since 2005 by their severity bit.ly/2l3ZbtP. Data source: bit.ly/2xV8lPr • Found a dataset of the City of Boulder fire unit response times bit.ly/2xUVIUq. Computed median response times of 326, 301 and 294 seconds for the years 2015-2017 of which 75.46%, 81.06% and 82.31% were spent in traveling. Responding in under five minutes irrespective of the event location is really fast. • A heatmap of daily temperatures (23kB) bit.ly/2xUTyEc. You can also add a legend as a gradient between the two colors, where you write the corresponding temperature at certain steps. • Parks in Phoenix bit.ly/2l1WngG • Boston buildings energy efficiency, 2017 bit.ly/2l4MIX0 • Utah libraries performance, 2013 bit.ly/2l46D87 • Budgets by department resulting from all funds, according to the Philadelphia's proposed budget for 2018 bit.ly/2xTHHGM. Many funds want to direct resources towards two departments. Whether other departments will receive enough funds, you can decide for youself. • Finding cities with high walkability scores bit.ly/2xT4uSO • Nice how you can select a bus, train or trolley in Philadephia and see their location and route in real time bit.ly/2kZlAZb • Locations of various trees (20 different types) in Portland bit.ly/2kZo89L. Saw a photo of a beautiful tree near river, said to be taken in Portland. So I wanted to see which other tree types they could have except that one. Didn't suppose it would be better to ask which ones are still not available bit.ly/2l1q819. Maple (Norway and red), cherry, pear, plum, ash, dogwood are among the most common in this city. Nature can be so beautiful. • Bits from various articles this year: Gulfstream effect has weakened, 3-4 very strong hurricanes have flooded regions in USA, Greenland glacier crack, big glacier hole from the past that reappeared after iceberg rotate, rising sea levels (see NOAAs graph reaching far into the past to understand potential severity), coastal cities becoming more susceptible to threats from the ocean, New York reportedly having zones in danger of flooding. Strange that so many events happened in such a close proximity. • Some notes from "Introduction to epidemiology" bit.ly/2xRpl9h • An article mentioned that after a hurricane, the number of mosquitos in the affected area grows. And we know that mosquitos can spread malaria. • Top 30 buildings with the highest energy cost intensity in Pittsburgh bit.ly/2l09z5J • Most common end stations in the Hubway bike system for September 2017 bit.ly/2kYInVb. The name "MIT" appears in four of the 15 most popular destinations, which is interesting. The median trip duration for that month is 11 minutes and 8 seconds, while the median age among the subscribers of the service is 30 years. • Approved building permits with certificate of occupancy in Boston bit.ly/2xQbMH4 • Palo Alto library checkouts and linear regression bit.ly/2l2EPBp. Always interesting to observe how far expectations are from reality. To adjust and improve the predictions the next time. • Observing industrial production and capacity utilization in various branches of the US economy, with the help of the Federal Reserve data download program bit.ly/2xQu1wc. Data is available only for the last seven periods, so the visualizations of the transitions from one period to the next are not very smooth. • GPU comparison bit.ly/2xOVTk6 • Covariance matrix for obesity and diabetes type 2 (US states, 2016) bit.ly/2kVqExM. Index 20, corresponding to the yellow spot, refers to Alaska. The data has been preprocessed with sklearn's StandardScaler. • Oftentimes we might type (a > b) ? -c : c, which is subtle code duplication. Now, if c changes, we'll have to change it twice. ((a > b) ? -1 : 1) * c removes this need and makes the direction and the amount in that direction more explicit. • Exponentiation when the powers come from an array: from numpy import array; print(3**array([1, 2, 3, 4])) # [ 3 9 27 81] • What should this program/code do? If the output is meaningless, it doesn't matter that the data has been transformed n times before it became available. Code isn't here to demonstrate that "we can", but to create something which is truly needed. • Not everything that can be made interactive, eventually should be, especially when the cost of the conversion is not justified. • Adult obesity rate by state (USA, 2016) bit.ly/2xHQET9 • Very quick plot of the airport locations (with the help of OpenFlights) bit.ly/2xFcWVA • Exhausted my time budget for today, by ending with similar pixels within threshold bit.ly/2kJULs4. Similar to the pixel at position 0,0 (top left). Idea was to try segmenting the image in regions manually. • Are programmers inside a company automatically teachers? Do they need to teach their colleagues everything they know about just because learning and staying up-to-date is an ongoing challenge? What if they were qualified as programmers, but not interested in becomming teachers? Or thinking that as teachers they aren't good enough? Teaching is quite different from programming and we have to realize that it's a separate profession. Not everyone is automatically qualified to be a teacher. Once a programmer becomes one, this takes away time that they could have used to learn new programming languages or write more code. It also requires a somewhat different form of thinking, which focuses mostly on theory and less on practice, even though the goal may still be to express concepts clearly. Programmers might become unhappy if the improvement in their teaching skills comes at the cost of neglecting their programming skills. If they are burdened with teaching requirements, then this must be reflected and well-visible in their compensation. Yet, some companies might prefer to leave the teaching requirement unspecified and after the need arises, to explain, that this was part of the programming job even when not explicitly mentioned. With this practice, neither programmers, nor teachers can be expected to stay. • Imagine that a client has a carpet store and they want a website to present their carpets with beautiful shapes and colors. If they were to provide the photos, this would simplify the design process, allowing them to evaluate a potential layout sooner. It would also be cheaper since the designer would not need to spend extra time on studying and practicing photography. But if the client wants the web designer to take the photos so that the viewing angles, exposure and other parameters remain as consistent as possible across all 300 photos, this would slow down the designer and make their work much harder. Additionally, the designer might not have developed a strong appreciation of carpets yet, which may come through in their own photos, making them less personal. In the rush to make the photos, the designer might also drop the client's camera and break it. Now, by accepting to do work with the client's equipment, the designer would need to be charged. It is always better when clients come prepared, know exactly what they want and remain approachable throughout the design process. Such clients will have an advantage over people who care less, hope for any result or cannot articulate how they intend to evaluate it. • When placed on the desktop, widgets may enhance its look or add functionality, but we have to be aware of their memory cost (and if we dislike it, turn them off). In the same way, if our designs focus too much on beauty, while neglecting performance, we cannot realistically expect that people would become repeat users. Sometimes individual elements on a website may look as if they are widgets: for instance blocks reserved for images which load progressively and after small initial "thinking and blinking" time. While the end result are still many loaded images, the attempt to present each block as a "living thing" has made access to the main content on the page much slower. How well a website responds is usually seen when moving across the pages: if the total time sums to a period of unacceptable length, then people would leave only after visiting a few pages. What we want instead is to show them a world and ensure that they can move freely, smoothly and without fear of making a wrong choice. Maximizing the total percentage that can be seen within the world in a reasonable time is more important than providing anchors to speak about. • Remembering a great book I've read a long time ago (can't recall its title), where the author claimed that many attempts to actively motivate people in the workplace/within the company actually demotivate them. To see examples that seem convincing is one thing, but when you experience a similar reality and you know how you felt, the meaning and depth of this seemingly artificial work become apparent. • Do you have an upload limit on your website? I remember having a case where I wrote a piece of code just to find out that the uploads I expected would be slightly bigger than the size limit. Makes me cautious whenever I think of projects that may require uploads. • Agree with a programmer's statement that LLVM has a very nice code. Will have to review the other recommended libraries as well. • Single-page <picture> element as seen in WordPress bit.ly/2xAHRCo • "But where else would you go?" If you heard this sentence, it was possibly an attempt to condition your thinking to believe that you have no other true options. Demonstrates the hierarchic nature of the relationship and strives to exert control. • Nonpayment isn't a problem that is restricted to a single country. In Germany, for instance, many employers aren't paying well too, primarily exploiting people from the rest of Europe to work for them cheaply. They made this a national sport, which is supported and fed by the government, defending the interests of the countless millionaires, while the rest of Europe is suffering. The austerity measures further contributed to the emigration of many skilled workers to Germany, where they are seen as a gold mine for exploitation. Not only employers, but also landlords are heavily profiting from these trends. "You make more money by exploiting people, not by selling drugs" could be the culprit. German greed testaments through the willingness to pay the lowest possible wages, so that the claim "the economy is growing like never before" can be backed once again. But what does it mean to earn millions and pay dimes? Would you say that this is legal and if not, where do you see the line? Is it acceptable, just because "everyone else does it"? Why should former millionaires suddenly be allowed to suppress wages, speaking of a "financial crisis"? Since when did this nonpayment become a social norm? And since when do we need "full employment" under conditions generating classes and classes of "working poor"? Even if 99.99% of all people were employed, working under unbearable conditions, it doesn't mean that being like them should be our goal. That "we should work" simply because that's the accepted norm and everyone around us does it for free or wants to influence us in the direction that benefits them most. There's no such thing. Work shouldn't be allowed to become a means of exerting control over us. Recently there was an article where someone complained of the quality of multiple employers in Germany that went viral and got a couple of hundred comments on a German website. In my opinion, illustrates an unsolved, large-scale problem in the German economy, about which many were previously silent. • Average sold housing prices in different areas of London bit.ly/2kILxvW. The average over all areas (the average for London) comes at 480761 pounds, according to primelocation. So if someone is earning 40000 pounds/year netto on a full-time job, they would need to work exactly 12 years before they are able to acquire a home of an average price. Meanwhile they have to be cutting costs for rent, food, transportation, communication etc. to avoid prolonging this period. Recently read an article which mentioned how a person earning 40000 pounds (likely brutto) was priced out of the city, being unable to afford even rent (after the rent increased). And that many teachers who were commuting from Luton to London decided to stop going to work for being unable to cover their costs (which exacerbated the situation with the lack of teachers in the city, at least according to the article). I saw somewhere before that it is planned to start social aid when someone is earning less than 32000 pounds (or was it 34000?) and wondered how it is even possible that so many people work at conditions very near to the social minimum. What happens if inflation grows, an injury disables them, something unexpected happens (like an illness of a relative) or if they grow old and the marketplace starts to discriminate them? First and foremost, work should be economical and the companies whose positions don't fit this criteria, do not necessarily deserve to appear on a CV. • After crashing my machine four times, spending hours debugging segfaults and doing endless computation, I decided that it is time to let go of the idea of attempting to see where people check-in most often on Foursquare as a way to identify interesting places. Slowest thing I did in a long, long time. If you are interested, see the global scale checkin dataset bit.ly/2xzi6T6. It contains three files totaling ≈2.5GB, where data from one file can be used as a key to learn more from another file. I could also eventually share my .cpp file with you, in case you need a quick starting point or just wanted to see the idea. One day if I have a 1000 times faster machine I may try again. • Wondering what software most people use to keep track of their inventory. And whether they find that their time was well spent. • A path between the street intersections with the highest pedestrian counts in San Francisco bit.ly/2xxa39o • Watched football on YouTube for a couple of minutes yesterday. But only to convince myself that I have identified a very fast sprinter according to the data from the FIFA's game, released on Kaggle. Never heard the name before, but on several occasions, this person almost went together with the ball inside the opposite gate after jumping at it. Had to replay to understand what happened. • Object-oriented HTML article generation bit.ly/2kF57Jy. We could use this model to add videos, figures, tables, styles and other elements to a the page. They all can be seen as objects of which an article is comprised. Composing of well-described objects creates a representation that is quite easy to understand. • Selectively disabling parts of an image bit.ly/2fYJX3Y. The background can be any color, most likely determined by the context. • Simple check of the cardinality of a union of three sets bit.ly/2fXVf8r • Plotting national expenditure for cancer care in USA bit.ly/2fUYkGg as seen from the National Cancer Institute bit.ly/2yAcAzQ. Earlier today I've read a blog post by this organization, which contained the words: "Cancer is not one disease. It's about 300 different diseases" which immediately invoked a sentence from my memory: "Approximately 33% of the people you know will develop some form of cancer throughout their lives". So "some form of cancer" must be one of those 300. For instance, you can see what are the challenges with metastasic cancer bit.ly/2yBh1ua. They also have a large data catalog bit.ly/2fWqOQd, which they encourage more researchers to use. Another great initiative I was not aware of. • Cannot recommend binding CSS styles containing vendor prefixes to a publish button. Creates lots of duplicate code on the page. • Indicating reserved/unreserved seats for a given theater performance bit.ly/2fVgZBP. You could potentially apply the same concept to seats on an airplane, seats in a cinema, maybe even seats on a stadium. • Highlighting a small mistake in a book, where the topic is list operations in Python bit.ly/2fVgTKu • Indicating empty and occupied parking places bit.ly/2fVFGym • Idea: Automated, fixed-speed page scrolling on a big screen showcasing various real layout designs randomly without the need for manual scrolling, clicks, keypresses, website visits. (Like dynamic, visual layout advertisements without the actual call to action; just stay-and-watch on a big screen) Reminds me of letting my machine probe for the names of the US states in an input field (showing their full names below) without pressing a single key. Still didn't help me memorize them. • I heard that Rohingya people were persecuted, but knew almost nothing and was completely unaware of the dimensions at which this happens. Can you guess approximately how many people were affected and escaped to Bangladesh? You can find the answer in this article nyti.ms/2fQTMAI. My mind simply refuses to believe that this is happening in the 21st century. • Current IC Bus offers by Deutsche Bahn bit.ly/2fS7jYZ. Again something small. Should this page stop working, write me a short message to see whether it is something that can be fixed. • Dorm room accessibility in German cities bit.ly/2fTDQ0W • The price of a bus ticket in a given city says a lot about the potential vitality of communities and businesses in it. If the prices are set too high and traveling by car is too expensive, this may cause people to travel less and lose their contacts. Noone wants to feel that by going to work they are actually losing money instead of earning it (saying it, because very often I felt this way and actually left jobs that weren't paying relative to my daily expenses!). Recently I've read an article that said "because people in that province earn more, we can also charge them more" (bus ticket price). This seems like a poor argument, unless the quality of the service provided is that many times better. Otherwise it's an unfounded attempt to extract from people and it should be questioned. Additionally, when you say, "we can't fix the zone pricing", because it was established back in time and changing it now is too hard... seems like an excuse. Can't imagine how many potential partnerships didn't happen, how many workers didn't even apply to jobs, how many employers couldn't find people to drive their business due to such governance. In fact bus ticket prices should be so affordable, that even a poor person can travel in an attempt to change their situation. Otherwise they will be trapped and progressively excluded from society over time. • Without knowing what to expect, clicked on the store locations page on the ALDI's website (for Australia). The map that I saw bit.ly/2yujRRK looks very similar to the one I created yesterday (yet the latter had only a couple of points and no detailed contours). • Noticed that few websites offer their content for free (given that you are a responsible citizen, which is fine) with the binding rule that if you try to create something competitive, they might disable your account at any given time. Strange that talking about an opportunity and a threat in a single sentence is seen as normal. This is not truly open and I always avoided using such accounts where without my knowledge I might do something (now or later) that clashes with the company identity. I can never know what others already are, while they might be constantly changing their field of operation. Having a service whose existence they determine on a daily basis seems quite unstable. To me this looks as an attempt to exert power, somehow reminding me of the book "The Wallmart effect". A truly open service doesn't fear competitors: it invites them, appreciates them, supports them. We never know: our today's competitors might be our friends tomorrow. Or do something unique that grows the entire industry, figuratively known as "lifting all boats". And if they choose to harm us, we should still accept that, trusting them to create a future that works best for them and everyone else. • On the last map I noticed that the distances between Manchester and Liverpool and between Manchester and Sheffield are almost the same, so my eyes were wondering which one is shorter. A small snippet shows that the first is slightly shorter than the second bit.ly/2ys2NMb (partial code only). Indeed, checking with distancecalculator.net shows 50km for the first, and 52km for the second, both on a straight line. Now you know why gathering data is important—now only to draw maps, but to be able to answer queries or use interesting algorithms. • A problem can too be partially in the eye of the beholder. What someone describes as a problem may not necessarily be a universal problem—it may not be perceived as a problem at all. Especially when it is abstract, in a very specific domain and experienced only by very few individuals having that domain knowledge. • Have you read the last issue of the Max Planck magazine? bit.ly/2yssZX5 Did this give you an actionable idea you could implement? • After using Processing for a while, it became clear to me that my initial idea to use the web as an art platform was likely not the best use of it. "The best tool for the job" hints that art could be done most effectively outside the browser (also with dedicated 3D software), while the web could remain what it is—a plaform for sharing, serving and meaning generation. Art is to create beauty; design is to solve problems. And if you can solve problems by art on the web, that probably makes you an artistic web designer. • Very much liked the words of a wise person: "If you do it wrong, you'll be left with the code..." Code always has a cost, but sometimes clients aren't willing to accept that. "Being left with the code" is something we need to avoid, otherwise our initial effort easily turns into waste. Questions that I like to ask myself are "Can I finish what I start?" and "Will this be used and make a difference?" • Similar maps for the cities in Japan bit.ly/2fMw8p8, in Russia bit.ly/2fOln5U, in Australia bit.ly/2yrFd22 and in the UK bit.ly/2fP58FI. • Monthly personal consumption expenditure by major type of product bit.ly/2yqkgVi. Since this data comes from the Bureau of economic analysis, it means that it is US only. Using it to make conclusion for other markets would be a mistake. • Labour force participation in Japan by age group (1968-2016) bit.ly/2ypeTFZ. Index values are as measured on 31th December each year. Date and month were omitted, since they would only repeat without adding to the graphic. Interestingly, in recent years very young people (15-24 years) have decreased their participation, while very old people (65+) have increased it (their lines crossing at the bottom). The group 25-34 years has also become less active in comparison with the group 45-54 years (their lines also cross). • Cities in China by relative population bit.ly/2yphVdb. If you see any mistakes, please correct me. The data I used can be wrong and my Chinese geography is lacking. Interesting to see that most of the biggest cities are located on the east side of the country. • Cities in the Netherlands by population bit.ly/2fJ90b3. Learned again something new. • States and cities in USA ranked by their population density bit.ly/2ynUb9t or cities ranked by the factor of their population density relative to the state's population density bit.ly/2fIQmAd. A city with a very high factor may indicate high population concentration and uneven distribution of the people in that state. The data comes from Wikipedia. • Los Angeles street lights and their wattage bit.ly/2ymXgq3. Each light can have up to 6 lamps—their wattage is given separately. As you can see, there are 3-4 zones that look especially interesting in terms of wattage consumption. Blues are low-wattage lights, reds are high-wattage, greens are somewhere in the middle. 16 lights have lamps whose total wattage equals 6kW, 2 lights measure as 4kW and the ones that follow are less than 1.8kW each. The total power consumption equals to 21.604 megawatt, considering that most lights are relatively efficient 70W LEDs. 873 lights are given as 0W, so it is questionable whether they are in service at all. Took me half a day to figure out how to plot the points corresponding to all 215150 lights without making my slow machine unresponsive. The plotting library I used initially peaked at ≈30000 points before it became too slow. Switching for a short time to a more powerful machine didn't resolve the problem—it showed very low CPU and RAM utilization, yet somehow the plotting time was unreasonably long. Even so, the result doesn't look pretty (color palette, transparency), but considering the constraints, still happy to see the picture. • Continued fractions via matrices bit.ly/2wtlzOH • Comparing image quality with the structural similarity index (SSIM) bit.ly/2wsLPsk • 3D Peano curve and a staircase from it bit.ly/2wsDMfj • Exponential decay with fill-between bit.ly/2wskhDw • Hilbert curves in 3D bit.ly/2wrqAXR via simple code • If you saw that the concentration of bad particles in the atmosphere spiked almost twice than the usual level mostly at particular hours in particular days, would you think of a possible explanation? • Map of crime in Austin, Texas, 2016 bit.ly/2wrCrW2. Uses this publicly avalable dataset bit.ly/2fB6Z0r (be aware of its limitations). 26152 cases were described as theft (most common), while murders were the least common. If the data is accurate, we can see a couple of spots with higher than usual crime density for relatively rare events. • Simple planner bit.ly/2fBrpGK. An attempt to highlight what's next at any given moment. • Quick subcategory budgets bit.ly/2wqKaTZ • Sudden realization: getting the * and + characters is possible with a single keystroke from the numeric block. Until now I always used Shift + 8 for multiplication and Shift + = for addition and wondered why constructs like 5*x**4 + 4*x**3 + 3*x**2 + x quickly exhausted me. • An interesting tradeoff: you can have cheap sensors, producing many relatively inaccurate measurements quickly or more expensive sensors producing fewer, but more useful measurements. The choice will likely depend on the application. • A mistake every company could make is to "export" its team's shared knowledge as a requirement towards the next job applicant, thinking that this person should somehow add more value than the team or compensate for its inefficiencies. They start looking for a better team, dressed as an individual and meeting an unrealistic number of requirements. Therefore, unbounded knowledge sharing could have a negative side—serving as a barrier for future applications until it eventually eliminates them. People from minorities who were never able to experience the same network effects will be the first to feel that they can't possibly fulfill the requirements. If you see a job offer that mentions something like "our team uses (long list of technologies)", check again carefully whether they are looking for a better team or an individual. You might be surprised. • The first five Tschebyschev polynomials bit.ly/2wkfjsr • If it is true that an energy use intensity (EUI) is the total energy consumed in a year divided by the total gross area of the building, then comparing different buildings approximately is also possible with a few lines of code. "Approximately" means that many variables like climate, occupancy level etc. cannot be taken into account, but it is still said that EUIs can give a useful orientation. As you have already seen from the last bit, the thinking and planning—careful choice of materials, functions and their relationships, component positioning, compliance with environmental constraints, delivery of output to partners, where it serves as input, tradeoff making etc.,—are just as important as the construction itself. A system is rarely just the end result. • Took a brief look at some of the engineering decisions that went into the creation of the Bullitt Center building in Seattle and learned many new things bit.ly/2wheEry. Wondering whether the used chemicals are depletable and if so how easy it is to restore them. • Park plans with few zones and clear boundaries could potentially be made interactive (SVG contours), where on hover a description of each zone is revealed. However, a complex map with hundreds of places, where the boundaries aren't as clear may still look better in print. We can't rely on a mobile device to be always available or a big sign at the entrance to be always remembered; perhaps it is better to hand (especially paying visitors) a miniature printed version of what they could expect to see, also serving as keepsake long after they have forgotten that they've been there. Constantly having to look at a device is not a sign of being truly present. • Moving lines over image bit.ly/2fmSnSs • Youth hostels in Germany / Jugendherbergen in Deutschland bit.ly/2wgukLK • Sometimes you press a number at the bottom of a page and expect to be sent to another page. What happens instead is that you are left on the same page, but the content at the top updates without you being able to even see/notice it. Quite confusing from a user perspective. • Hospital beds per 100000 inhabitants (2004-2015), according to Eurostat bit.ly/2wespHy. The number of available beds in most EU countries seems to be decreasing over time. Countries that have reduced their beds the most are Finland (709 -> 435), Norway (525 -> 376), Ireland (564 -> 260), Luxembourg (639 -> 482). Countries increasing their bed base are Bulgaria (613 -> 723), now only after Germany and Austria and Turkey (212 -> 268), which grows slowly but steady over time. • Performance of Brussels hotels by region bit.ly/2weWTZO • Some online systems tend to disappear for a couple of seconds after you click their download button and wait to establish a connection to the resource you requested. Until the download completes, you see a blank page, effectively making the system unusable. • Found an interesting dataset about available income to each individual (verfügbares Einkommen je Einwohner) in different regions of Germany between 2000 and 2014 (source: "Statistischen Ämter des Bundes und der Länder, Deutschland, 2017"). The result bit.ly/2wcXMCc is quite interesting, because we can see that Heilbronn, Stadtkreis has grown quite fast, surpassing all other cities/regions to come to a result of 41751€/person. Second is Starnberg, Landkreis with 34915€/person. In comparison, the highest result that Berlin achieves is 18594€/person. Do you think that there could be a plausible explanation for that? • Cannot provide three links on my site and say "this is what I do". While it would be more recognizable, clean and beautiful, it's just not me. I cannot easily let my work be limited in such a narrow scope. I like to do many things in many areas, to stretch my knowledge and skills, to come up with new ideas and implement them as good as I can. If this is what makes me alive—learning, growing and implementing more/better, seeking ways to contribute,—then I could happily let go of the idea "to be known for something". • There are two ways to present a chart with a company's stock price over time. One way is to draw a directed line from the maximum to the current minimum, starting the y-axis slightly lower than the minimum, which may give the impression of a very steep decline and another is to start the y axis from 0, which would result in a very small decline. By choosing the first option and trying to manipulate the reader's perception, this bit was born. • A highly annoying parameter list bit.ly/2fhA6pL. When you see how most of the code is written, you start asking yourself whether the lines of code is the only thing that matters. When one uses only single-letter variables, they can jump to the next line much more quckly, producing plenty of more lines and looking "more productive". And before they know it, the problem has multiplied across entire screens and systems. Time to ask your company CTO to give you a sample code they would appreciate most. And if it doesn't meet your criteria for good code, it's probably better to apply your skills elsewhere. • Do you like flowers? Search the rareseeds catalog bit.ly/2wae0fo to discover which plants you can grow from seeds. • Employee utilization on a project bit.ly/2f1Nuy2 • Easings primer bit.ly/2f2c1Tx. With the help of TinyAnimate. • Rotating lines around points bit.ly/2f21vLU • Perfume preferences as a bipartite graph bit.ly/2f1gZjg • If your business has a problem for which you think that dummerAugust could provide a decent solution once you consider the existing alternatives, and you agree with the way I work, which is already described on the contact page, feel free to connect. Being aware of what is on offer increases your chance to be served, whereas asking randomly or seeking immediate service decreases it. The longer we have worked together, the better and more frequent you can expect the responses to be. • After another update, the HTML rendering plugin of the email client I use stopped working. I was wondering why there was no fallback option for reading HTML emails when this is such a common use case. Tried switching to another client. After two hours of downloading emails I must have clicked somewhere that stopped the download; the messages arrived only partially. Then I clicked the receive button once again and the client went to recreate the entire mailbox structure (overwriting the old one and all received emails so far), starting again the download from message one. Uninstalled immediately (the most starred software in the category). Not how I expect software to work. • "Time is measured in clocks..." reads quite tangible to me. • Describing connections between people (with triples) bit.ly/2h4BlfQ • Found this beautiful visualization in a dissertation bit.ly/2h3S7M5. Saw something similar before (perhaps D3.js), but didn't know that it is called chord diagram. • I thought that smaller companies tend to be more innovative than larger companies, but a dataset is now trying to convince me otherwise. It doesn't matter much, since payment is the only criteria by which innovation can happen. If most big companies don't want to pay, no innovation for them. It's that simple. • Investments in software (as % of GDP) in some European countries (1995-2010) bit.ly/2h3B9xq. Germany has kept its investments most steady over time (0.75%), while UK has reached 1.80% in 2010. Still, these are very very low percentages. One might wonder how software even gets created when noone wants to spend for it. • Total R&D expenditure in some European countries bit.ly/2h4lCO3. Initially I also included the data for Euro area 19 and Europe 28, but then removed them, because I think it is not quite correct to compare an individual country against all others, especially when the same data will be included once again in the total data. • Brussels has announced 132 locations with free Wi-Fi bit.ly/2y1aZii. Now you see the problem—they are clustered in only 9 points, which means that they may not cover the entire city. Especially the north-eastern region needs more attention. • Find recommended restaurants by relative importance of 3 criteria bit.ly/2h4N5yU • Star rating with SVG bit.ly/2xZxh3P • "Switzerland was the top performer in terms of both the number of Nobel laureates and chocolate consumption". Never thought that such a link could potentially exist, so I had to check the existing datasets for this country. But the sugar in chocolate is still a sufficient reason for me to stay away from it (even if there would be only a remote possibility that heated forms of sugar in foods might be linked with cancer). • GDP by sector for Zurich, Switzerland (Q1 1997 - Q3 2012) bit.ly/2h27Zie. Interesting by how much the financial sector is dominating the rest. In Q3 2012 we see how the "Real estate, computer science" sector has become a stronger motor for the Swiss economy than the sector "Health and social services". The current state would be even more interesting to observe. • Median bike trip duration in the Oslo City Bike system (April-August, 2017) bit.ly/2xZ54dc. The maximum of 563 seconds is slightly less than 10 minutes. If there aren't weather or economical reasons for cycling only so much, then this may say something about physical preparedness. But the same person might be biking multiple times a day, and since no person identification is included, it may turn out that their combined cycling time was much higher than this 10 minute interval. Additionally, if they used the same route very frequently, this would push the median value further to the left. • Wondering whether this map of the fountains in Salzburg, Austria is correct bit.ly/2xYL9eJ • Areas with Internet connection speed of over 50mbit/s in Switzerland bit.ly/2h10gRz • Placing markers on European capitals bit.ly/2xXlUcG • Can you easily recognize the breed of a dog once you see it? If not, you can learn from sample images bit.ly/2h1x8d7 • Comparing the price:size ratio of SSD drives on Amazon bit.ly/2wXTEr0 • Extracting keyword-related data from Wikipedia bit.ly/2xXbv0n • 10 hashes of 16 symbols in 4 lines of code bit.ly/2xX951Q • Summarizing a short article with Gensim bit.ly/2wWwzVJ • Active infrastructure projects in New York bit.ly/2wVyDNJ. Contains the most recently updated data. • Not particularly exciting, fixed-width-font diagonal text bit.ly/2wV3PMV • Fake news is a problem, but fake content is even a bigger, more general one. If someone created a page to allow people to say where they bought expired products and when (to protect other consumers from doing the same), then there will always be an opportunity that someone will try to use it for their own reasons, e.g. to try making their competitors look bad. It would be then hard to say who is claiming the truth and who is lying, without personally validating the claim, which is often infeasible. Simply inserting both types of data in a database and pretending that nothing happened is wrong. Today not just news, but entire accounts are faked. The problem is exacerbated by bots, which aggressively send data, looking as if a human being wrote it. In the long term, this has the potential to push people outside the web or at least significantly harm online communication when it can no longer be trusted. Even with good intentions, it never feels good to be with tied hands. • After an update, a portion of the screen dedicated to Chrome has started to blink in black & white. Went into settings and disabled hardware acceleration to fix this temporarily. Update: This made animations slow, so I had to go back and turn it on. Unclear, when and how the issue could potentially reappear. • Innovative startups in Dublin by sector bit.ly/2xUED8O • Similarly to Arlington County, found an old dataset (must be from 2011) about building electricity usage in Dublin. Interestingly, 4 pumping stations, 3 waterworks, 1 water tower, a boiler house, 2 swimming pools and 2 fire brigade contol centers appeared quite high on the list. The common theme among all of them is the use of water in one way or another. Most consuming was Pigeon House Road pumping station, followed by Wood Quay civic offices. The pumping station at the 3rd place consumed almost 2.7x less energy. Not sure about the current situation, since no current data is available. • Not sure how useful the automated text extraction from PDFs is. If the document contains only simple text, then reading it would be possible and the result will likely be almost identical to the original. But if the document contains specific notations or compex formulas, as is the case in most scientific papers, then there is a potential that the reader will produce garbage by trying to convert the hand-written formulas to text. Personally, I still open PDF files. • Temperature, rain and sun hours at the Heathrow airport (January 1948 - August 2017) bit.ly/2wU5WAS • Finding the names and phones of interesting businesses bit.ly/2xTXUqH. Here I searched for pancakes in San Francisco, but you could choose anything. Pleasantly surprised to see that finding plumbers and electricians works in exactly the same way. Love how XPath makes the code both simple and fast. The drawback is that if the external result page changes, you'll need to rewrite the rules. • "Do not store utensils in stagnant water. Provide employee hair restraints. Maintan storage of raw shelled eggs below any ready to eat product. Provide working internal thermometers for all refrigeration. Properly label all food storage bins in kitchen area. Remove all outdated foods. Clean interior of ice machine, clean popcorn machine. High temp dishwasher not reaching 180F (only 140F). Salmon holding on top of oven at 96-100F. Clean all shelving, mounted ceiling fan and debris. Repair broken door handle. Be sure all hand sinks have paper towels and soap at all times. Large amounts of fruit flies in prep area—provide pest control." Reading diverse comments from food inspections is quite instructive in what it takes to achieve good hygiene. • "Big Belly trash receptacles are solar powered, internet connected, compacting trash receptacles that can collect up to five times as much waste as traditional bins and help the city more efficiently manage the waste collection process." Boston shows that embedding technology is possible even in seemingly boring things like trash cans. • Buildings with high carbon footprint in Arlington County, Virginia bit.ly/2xTNbfZ • The average consumption of a streetlight in San Diego is about 88.9% of the average consumption of a streetlight in Sacramento, according to the data both cities have published. In San Diego some streetlights were given without their wattage and were not considered. Otherwise this city has 3.71x the area of Sacramento, but only 2.63x the population (both according to Wikipedia) and 1.51x the streetlights. Perhaps they shine brighter, cover a larger area or are positioned more effectively. • Vancouver also updated its tree dataset recently, but their composition is slightly different bit.ly/2xTD3UK. A specific cherry type is still at the top. • Love the Edmonton City's idea to plant a variety of fruit trees across the city and to share publicly how they are developing. Currently they seem to have these unique tree types: 7 cherries, 3 pears, 5 plums and 5 apples bit.ly/2wRjWv7 (with many trees of each type, bit.ly/2wR05MF). Wondering how hard it is to maintain all 22320 trees and whether there is a particular reason why the cherry types are more frequent. Here are the counts by type bit.ly/2xTvVHI. As you can see ≈40% of all trees are crabapples. Learned that saskatoon looks like a blueberry, but has a taste similar to an apple—quite interesting. These seem to be only the edible fruit trees, because the meta description of an extended "trees" dataset mentions something about 320 thousand rows... • Programming an image circle bit.ly/2wRDsrg. Noticed the nice symmetry and used vertical stripes to try dividing the image into parts of distinct opacity. Left and right are slightly brighter, while central left and right use brighter horizontal modulo 4 stripes. Pixel colors were accessed via matrices. Styles like this could be repeatable across many images in a given directory (although "burning" pixels is always possible), provided they have the same dimensions. • Contour plots could have been used in the storms graphic if enough data was available to draw the exact functions bit.ly/2xSAaDC. The screenshot is from the freely available book "Bayesian reasoning and machine learning" by David Barber. • Even with a magic lamp in your hands, you can have at most three wishes, so you need to know what's most important and think carefully, like web designers do. In case you wished everything you touch to convert immediately into gold, you might have found out that you are unable to eat (life-threatening). What symbols teach us is that nothing is as it looks (reason enough to also check the Aesop's fables) and there is always something hidden behind the surface ("... and in the abyss lives the truth" - Confucius). Be careful and choose wisely what you wish for. • The Paint Timing API has once again highlighted the importance of percentiles (50th, 95th, 99th, 99.9th etc.), computable via the Numpy's percentile function and trackable over time with the Pandas' rolling_quantile function. (Rolling functions consider the last n-items in a window. As the Boost library shows there can also be rolling sum, rolling mean, rolling moment, rolling variance...) Both are easy to use once you have a stream of data bit.ly/2wQ8TlX • Some storms in USA which happened between March and May 2017, given by their location and range bit.ly/2xRxRR8, as seen in the last storms dataset by NOAA. I was not sure how to depict the range of a potentially non-linearly moving, variable-range storm, but even as a simple circle the graphic still looks interesting. • Points in rectangles (range selections) bit.ly/2wQtre4 • A newsletter informed me about the new AListApart bit.ly/2wOA9RC. The message resonates with me, especially the one at the end, because every content creator is also a web designer. I hope that the new approach will inspire even more participation and collaboration among people from all possible areas and backgrounds. • The "Proportion of urban population at year-end by region in China" bit.ly/2wMf9Lt uses data from this survey bit.ly/2xQu6LT. • Horizontal, vertical and diagonal difference for a 4x4 matrix bit.ly/2xboBuN • Well, the image bit.ly/2wIzUYg could have been a sequence of images combined into a three-minute 720p video (1280 * 720 * 16bits * 3mins * 60sec * 30fps / 56000 = 1421897sec / 3600 = ≈395h). Probably explains why this site is using images so sparingly. Saddened that some people do not seem to understand that loading all kinds of media in a bulk on a single page effectively makes their content inaccessible. Start by using fewer, optimized images and finish with economy of words by staying focused and on topic. Let other people feel that you do not accept empty words as a sign of expertise. • Good visualization showing the credits taken the last year to finance first-time housing projects in different German provinces bit.ly/2x9SMTe (first figure, article in German). The authors came to an average of ≈257795€, which would be equivalent to earning ≈2150€/month for 10 years or ≈4300€/month netto for 5 years. Not exactly small amounts. To compensate for this, the rest of Europe must save on spending and living. • Had a dream of creating a polygonal pie, "slicing" it into pieces upon clicking a "Slice!" button (replacing the polygon with many nicely colored individual paths) and then animating how each one is taken away at various timepoints and speeds upon clicking the "Take!" button. Then woke up to reality with the thought "For what?". Brainless dream. • While attempting to generate a fractal as suggested in a resource, I got the unorderable types error, telling me that it is impossible to compare complex with int values. So I tried to convert the second int to a complex value and compare again. Now the message states that I am attempting to compare an int with a complex (even when both should be complex). Not sure what is causing it, so the fractal is put on hold. • Radial gradient effect bit.ly/2xMqUBu • "Using water as a launch platform" (3D surface) bit.ly/2x8dbIb • Multi-criteria bike selection bit.ly/2x5pzIW • Knew almost nothing about apartment rents in USA, but the Zumper national report provided some interesting data bit.ly/2xI3flA, which allowed me to visualize the current rent levels and the price changes for one and two bed apartments compared to the previous month bit.ly/2xHTV1e. The most expensive city to rent an apartment is San Francisco CA (3390$ for one bed aparment, 4560$for two bed apartment), while the least expensive one which was still ranked was Fort Wayne IN (480$ for one bed aparment, 580$for two bed apartment). Regarding one bed apartments, Providence RI has the highest monthly rent increase (5.1%), while Rochester NY has the highest monthly rent decrease (-5.5%). Families might be interested in the premium they have to pay for a two bed apartment. After the last increase of the rent of one bed apartments in Providence RI, the premium there has fallen to a factor of only ≈1.028, which is also the lowest. Currently, Scottsdale AZ is the city with the highest premium of 1.75. According to Zumper, the data comes from over one million active rental listings. • dummerAugust does not advertise and does not strive for more publicity or popularity. None of these have been found to be useful or linked with the personal goal of providing better service, seeking better ways of self-expression, learning more, developing better ideas or being happier in general. Trying to enforce undeserved effects is like attempting to drive a car backwards—although possible, it is not quite efficient as moving forwards. In the past, it has been widely accepted that every new platform—be it TV, newspaper, search engine, web site, mobile device, virtual reality—is an advertising platform, which led to a certain degree of saturation with this concept. That plenty of companies still have a high portion of their revenue coming from ads isn't a sufficient reason for everyone else to seek to integrate advertising into every new idea, every new website or every new video on the web. Few people like to be bothered with advertisements (which is why they shouldn't advertise), yet these are imposed on us in a variety of ways every single day, where we have little or no choice but to watch/listen. This creates a lot of noise, inteferes with our regular days, distracts us from what is important, wastes a lot of money, prevents us from seeing content on our screens. dummerAugust wants to stay away from advertising to avoid this beautifully stunning, hard dependency. Overreliance on it is probably one reason why so many companies are in so weak positions today. • Still remembering how a manager of a well-known tech company, a public person I admired highly, suddenly wrote on the company page how the work outside regular workhours should belong to the company, which should be made explicit in the contract of each employee. (I guess some companies fear that on your own time you penalize them by sharing your know-how with competitors.) I thought that I am misinterpreting something, rereading the words again and again. But I couldn't find a gap. Schocked, my internal voice said "No!". I can forgive certain things, but not lack of trust, infinite greed and extension of your own rights by shrinking those of others. After that point, the company ceised to exist for me. But I wouldn't be surprised if other managers also tried to introduce the same policy. Always carefully read what you sign up for, because you might give up on other income sources (in exchange for what?). Know that the time outside work is your own and no employer has the right to address it in a "default" contract(!). Ask them if they would agree to pay a lot for this extra and if not—leave. Your time is your most precious resource, so never waste it (or allow others to do the same). • Worked only once for a manager that constantly screamed at me and made me cry (just learned of other people being mistreated similarly). Do you think that these people would be willing to take on open positions later in their life? If the price for becoming a highly successful US company goes through tramping on your people, their lives and rights, then I don't want to hear your name, the name of your company or how successful you've become. Bothering is that such bad examples compound over time and survive under new forms, in new places. Tomorrow another person will start to mistreat people far away from your view, because they themselves were, and suddenly you've created a chain of events. There are also plenty of good managers; what reputation is this behavior creating for their role? Understand whether people work for you or whether you own their lives, because you might be seeking a legal form of modern slavery. Being aware of that, only two weeks later it was clear to me that I cannot thrive at such a place, where silence and fear of spoken word was the norm. A case which later encouraged me to create the jobs page. • Do you store user data which you don't understand, don't know what to do with or which you cannot tie to an action? Then it might be better to speak directly with the client to see which pieces matter in order to avoid collecting things you shouldn't or collecting the same things more than once. If we hold everything in a database we might end with plenty of "just-in-case" data, which is both costly to store and unlikely to be used. If every case is different and calls for different variables, then adding such data manually in a database means that many columns will need to have NULL values, which is far from optimal. This is why storing data in a "default" way has its disadvantages—reason enough to avoid rendering generic forms. If you were my client, does your data matter? If not, I don't want to see it in my database. To find out, I like to ask questions and listen for the answers. Perhaps one day a bot would do the same. • A tool reports that some websites have started including 4 different web analytics packages. Wouldn't be surprised to learn that they all need access to the same data to provide a slightly different perspective on it (wasteful). But the user might think that their data is accessed only once, being unaware that at the end 4 different, external entities learn about it. dummerAugust avoids practices which hurt the user's privacy. You can check with any tool if you doubt that. • Extracted some information about the China's population bit.ly/2xG2Osh • Single-polygon shapes bit.ly/2x0RCcp • Visits of the Los Angeles public library (July 2013 - February 2017) bit.ly/2xFrsck • Detecting circle collisions bit.ly/2xF2Mkr • Thinking about 6-ominoes bit.ly/2xEbHCA • C/F slider without styling, but with affinity for JavaScript (1.4kB) bit.ly/2wXEUuY • All hex colors as a single ZIP file, if you need them bit.ly/2xCIYhC (17.7MB). After you uncompress it, the file will grow to 134.2MB (7.58 times bigger). • Cities in India by their population bit.ly/2xDbpM7 (only bigger ones). Could there be a geological reason why in the central-east region there are fewer big cities? According to my code the two closest big cities are Kirari Suleman Nagar and Nangloi Jat, while the two farthest cities are Srinagar and Nagarcoil. The last two are located on the North and South of the country. • New tendency: hosting companies crawling lots of pages on your website frequently and repeatedly, so that their name can be seen (which is free advertising of their services). Given that the pages are static and haven't changed for a long time, it is quite strange why they are requested so often from the same place. Because I saw three hosting companies using this practice, I may need to introduce some restrictions, especially for one of them if this practice continues. • The problem with applications that remain unused is that every time you have to recreate the same components like login forms, stylesheets, validation, logging, statistics, database access etc. slightly differently. At a certain point this becomes tiring and you start appreciating your time even when your user gets nothing. • Had the idea of balancing water usage over time, so that warm water could be available every day without having to keep the boiler on all the time (I learned that it can be relatively electricity-hungry), but heat the water at predefined times every night. This would potentially reduce the time it is on from 24hours to 2hours, but other people dislike the idea of having to plan in advance. • Do you like birds? Here you can see how the wild bird population in the UK has changed between 1970 and 2015 bit.ly/2vp8NE5 (original dataset: bit.ly/2vpo8EX). According to the data, between 1980 and 1995 wintering water birds have increased their count, but then they saw around 10% decline. The group of the farmland birds seems to have lost around 50% for the entire period, while the numbers of most other bird types have decreased less dramatically. All these declines speak about trouble in the future. • Trace properties of square matrices bit.ly/2vGq8Un • Comparing pizza prices at pizzerias bit.ly/2vCPvXh • Overlapping circles bit.ly/2vC9Vjh • Pure CSS text motion blur bit.ly/2wNXq8p • Energy beams bit.ly/2wNDSAP • Connected rhombi bit.ly/2wMo55j • Maximizing attained talks per event bit.ly/2vm0XXK • Chattanooga, Tennessee is another city with a real-time feed on bike usage, which you can use in many interesting ways bit.ly/2viHnf1. Most bike trips seem to be on Saturday, Sunday and Friday (in that order), so you may want to check whether there are many stations which report zero available bikes then, because this might indicate that some cyclists can't be served. • An example how icons can be used to explain the language bit.ly/2wAKUc8 • It's not clear what the concerns are when they are separated into 3000 files of 400 bytes each. • There is a new trend: "You've already reached your daily article limit on this site (usually after 1-3 articles). Please, subscribe to read more." Only that I didn't knew that some big corporations have started to collaborate with (much smaller) news companies sharing your reading patterns with them so they can charge you accordingly. This clearly deviates from my definition of openness. The fact that user data is now shared openly beyond sector boundaries, where any company can pretend to be in any sector, is truly worrisome. Creating more closed silos is an attempt to reverse the years of effort by multiple people to make the Internet more open and accessible to everyone. • Parks in Belfast, Northern Ireland bit.ly/2va9vRJ • Good to see some people speaking about coral reef health. I am almost sure that everything we do on Earth is felt by such sensitive "detector objects" (pollution, global warming etc.). Now you wouldn't be surprised if you hear that lettuce can be very sensitive to radiation. • Visitors per day at the biggest railway stations in Germany bit.ly/2v7WhVC. Uses data from an article in Spiegel bit.ly/2wxqxNc. • Even a heart bit.ly/2v4Au0X can be described by sine and cosine functions as seen here bit.ly/2wuxXRb • An interesting magazine on computer vision I was not aware about bit.ly/2v4Hmew • If during the transition between each two pages you start a spinner animation, check whether the background has loaded before the spinner overlay has been removed (the improvement in usability may increase the response time). For reading long books online, response time is critical. • "NYC bus performance" is a great idea that could be equally interesting at many other places bit.ly/2wt85Fq • Find resistance by the resistors' stripe colors bit.ly/2wt4qYi • Body mass index (BMI) for adults bit.ly/2v1WFos • Flower with curves (2kB) bit.ly/2v1z33b • Drawing with bit operations bit.ly/2uZqlm4 • Added the Smith-Volterra-Cantor set (if the name is correct) to the series convergence tests. The test passes for 1000 iterations, at which point both Python and C++ start to fail on my machine. • Back with "Upcoming events in Helsinki" bit.ly/2uUNgyS • Need to switch place for 1-2 days, which will prevent me from creating more. Will respond to messages when I come back. Meanwhile think about any projects you might have for me. • The busiest parking places bit.ly/2uPeffl and the places with the most pedestrians bit.ly/2wiXDjK in Melbourne, Australia. • The cross product of two vectors in 3D bit.ly/2wbLFse. It would have been nice to see the 3D arrows with the quiver function, but I failed at that in the time alloted. • Showing the React code within one switch case bit.ly/2w9lT7O, where 'tag ===' was repeated 11 times and '||' — 10 times. Don't repeat yourself, Facebook. • There is a large number of older people in hospitals lying in their beds while receiving medications. Without the ability to stay up or go to a toilet. Why is then so hard to have a simple system that accepts input like "patient is thirsty", "room needs more/less light" (electronic control of the blinds), "need to insert token in the TV" (when tokens are paid and bought from token machines), "healing substance empty" etc. On the receiving end, when someone from the support staff sees the message, they can act accordingly, instead of constantly running full circle to ensure that everyone's needs are met. Such a system cannot possibly prevent patients from sending too many messages at a time or sending them at regular intervals just to have constantly a helping person around them. But they can eventually still be helpful. • "We offer cheap international phone calls. When you are already in country X, you need to keep in touch with your friends and loved ones." Really? Not sure how many people lives such ads have ruined. Possibly explains why at some railway stations in Germany there were more phone call booths than places to eat. I never kept contacts (for the sake of keeping them), so this didn't affect me. My willingness to connect with someone was always inversely proportional to the distance and to the time difference since we spoke last. Once I find that one of the two sides shows insufficient interest, I slowly start increasing the time difference until eventually I no longer want to see that person. To me this seems preferable over making myself unhappy in a bad connection. Also removes the need to own a phone that would constantly keep me busy with meaningless conversations. • total_calories_burned = (floors - 0.5) * stairs_between_floors * calories_burned_per_stair. Maybe it's not that simple. • Choosing how to spend the days bit.ly/2w8VSWc • Bicycle lanes in Zurich bit.ly/2w7zjRI • Labeled data points in 3D bit.ly/2uHFUPd • 3D functions once again (after a long time) bit.ly/2uHUTIO • The bigger your program, the bigger the parse time. That's before execution has even started. • Using CSS grid to indicate apartment availability bit.ly/2w30XPG • We could also use SVG to explain what type of flowers the different areas of a botanical garden contain (possibly showing simple images in each region next to the flower labels). A visitor may want to see only flowers of a particular type, if they have limited time, the park is too big or if there is too much variety. Having a quick overview that they carry in their pocket and can easily refer to is always helpful. • Small memory size in context bit.ly/2w0uEkC. These values may only be approximations. The duplication in some parts of the code was intentional. • Finding equivalent resistance in a simple circuit bit.ly/2vYbagh. KiCad seems to work well here, but I have omitted the power flags. You can assume that the current flows from left to right. • We need to have a custom-defined setting for the max duration of allowed time to load content in a tab. If the time has passed, the tab should be closed automatically, not continue to load. Having a predictable experience is important. Currently when loading a website, we don't know what to expect. One site might load in 2s, another in 30s, a third one in 1min. I suspect that this big variability is frustrating and tiresome for many users. Sites that fully monopolize resources like CPU, RAM, GPU, disk or network for long periods shouldn't have the chance to continue doing so. • Wi-Fi hotspots in Washington DC bit.ly/2vKoaGb • Forgot to mention that the opposite way of looking at things is also valid: seeking the simple within the complex bit.ly/2vJXBBe • Created a small class about company metrics based on some interesting articles I found today bit.ly/2uiwGIU • "The income stream from capital is everywhere increasing faster than that of labor." Well, the consequences then will be that people will stop providing their labor if it is valued less than the gains obtained by activities that were disconnected from adding value to the economy. • The streets with the highest cumulative crash injuries in New York (2009-2017) bit.ly/2ueQQDL • Physical density of most Seattle fire calls bit.ly/2vDwvvj • Open the folder to see its contents bit.ly/2uet7Dz • Does anyone know why Chrome switches to computing forever if I mistakenly type a large number for the element's scale factor (CSS transform)? What happens internally—does the browser attempt to render the content needed to fill 10 screens or does it have some logic that prevents it from drawing too much? Not sure whether this is a frontface-visibility issue, but (if it is a memory leak) it takes inconvenient 15mins to recover from it. • Adobe, the entire company, became 20% cheaper according to Netmag bit.ly/2vCZ3oV. If I see correctly, it has something to do with mobile. • For component dependencies bit.ly/2udCOlN you need only rect, line, circle and path. • Interference bit.ly/2udVEtd. If we swap black for green, we get yellow bit.ly/2vCuvDO • Found a nice 5x5 Gaussian kernel and decided to share it in context bit.ly/2vzZZtV • Didn't notice that I left float values untruncated and that some properties were repeated. The demo has now reduced its size from 5.5kB to 3.9kB. • Still remembering Steve Wozniak's excitement about "building things from three parts" which I think he described in a book from the "... at work" series. Words that deeply affected my own approach to things. It is not sufficient to build from more parts, when we can do with less. Removing parts until nothing else can be removed is at the core of great design and of Apple's products. If we can't simplify it to the essential, do we really understand it that well? Can we build it from fewer parts? Fewer/simpler? • Polygon in equilateral triangle bit.ly/2ualzC4. Always seek the gems in the mundane things. Uses three points for the triangle, six points for the polygon and some symmetry for the coordinates. • Looking at Intel processor specifications bit.ly/2vxZXDd • Building from very sturdy materials doesn't mean that the whole construction will remain stable and survive more harsch events. A bridge made of such materials was functional for a couple of months, before people have started to notice that it has started to shake back and forth. The reason was that the material was efficiently absorbing the strong winds, but inefficiently dissipating them. As a result the vibrations in the bridge gradually increased over time until it eventually collapsed. The engineers learned from the experience and re-created the bridge without its original issue. But it's a great lesson that we can't expect things to work if we aren't considering the wider context in which they will be placed. • A project in Boston was initially cheap, but then became billions of dollars over budget. Lightning (it might have been a bridge or tunnel) started to fail after initial exploitation, the glue didn't hold well at the top and in an unfortunate moment, a woman driving her car was killed by a part that fell. This is cheap. The next time you hear "It's the cheapest project that usually wins", think about the possible consequences. • Although I lost the link, someone wrote a blog post why they enjoy working with freelancers. The reasons cited were: it is cheap, you have the full freedom to test people without fully committing, you only have to pay after you are happy with the final result etc. Strange, I thought, since these were almost all of my reasons not to be on such platforms. Once again, not served. • You cannot control whether people will like your work or not. But you can at least keep creating small things to quickly test your assumptions. One day, if you are lucky, you might even get feedback on how you are doing. And if you don't, accept it as a sign of disrespect rather than incapability on your side and quickly move to the next thing. If it isn't appreciated, don't stick working on it and don't waste hours on it, trying to improve it. • In addition, be aware of the difference between creating a framework and creating a business. The second is much more rare and valuable; anyone could be proud that they helped finish ten frameworks, but the true question is whether they were needed at all. • Like everything else, skills expire. Today they need React, tomorrow something more interesting. Do you want to work for the framework? Do you want to be left with the code? If not, learn to disqualify companies that hire for framework knowledge. • If your payment wasn't, why do you think my work will be? Not served. • 100ms is not only ten times less than a minute. • Innovate UK has a visualization "Top 100 companies by funding allocated", which they say is using collaboration bubbles bit.ly/2vrXXfD • Computer price index in Canada for desktop, laptop, server and tablet computers bit.ly/2u1pPnd. Server prices remain the most stable over time. • Total human resources in science and technology in EU countries as percentage of the active population bit.ly/2vqdOuX. According to Eurostat, all countries seem to gradually grow their percentage, which is a small reason for optimism. • Scheduling tasks among multiple processors bit.ly/2tZW6Ly. Try clicking fast as well. • Explaining the stories behind ten random movies from the past bit.ly/2tYHVpR • Persist and shine bit.ly/2tWTxJZ • I fear that one day I might want to open a datasheet of some custom, non-standard processor, see how its connections are labeled and codify them as addresses in C. Then send the compiled code to the board to see whether something is blinking (on the web blinking is undesirable). Embedded sounds interesting, but I fear a fully embedded life as a result of it. Currently I have neither the processor/board, nor the mental resources/capability to deal with any potential problems in that direction. But being aware that the tosters, coffee machines, clocks etc. are programmed as well is a good thing. They just use less powerful processors and the idea that you need to be only as powerful as your use case requires. I think that this useful way of thinking transfers well to almost all kinds of software development. • Is there a way to disable the "What's new" functionality in your browser once it is updated? (since you are showing me "news" where the title mentions a concrete software product). • JavaScript seems to be losing places in the list of most desirable languages bit.ly/2viT7RR. Not sure whether place 7 was for ES7 or ES8. I've read somewhere that the current plan is to bump the versions every year, so I expect that after ES10 people might start forgetting what was this thing called JavaScript. I'm saying this because I've spent 3-4 years trying to learn the language just to see it completely overhauled in a week after introducing a new version (ES6). It suddenly felt like a completely different language with new paradigms and philosophy. Since then I said myself that I won't start learning it again until I see it in a fully settled state. Unfortunately, this state likely won't come soon, because I still hear statements like "This will finally fix the language..." Continue introducing your fixes then and closely follow this ranking to see their effect. • What do you think works better: technologists trying to write or writers trying to explain technology? Now send your answer to W3C. • Austin restaurant inspection scores bit.ly/2tQLsGK • Trying to find out which NY cities are most heavily invested in photovoltaics from a historical perspective bit.ly/2tJZ8mV. In terms of investment efficiency, this still leaves me wondering bit.ly/2tJPb97. Here are also individual projects with highest expected output bit.ly/2tJZxWu. • New York farmer's markets bit.ly/2tJpC7Y • Visualizing the results of park inspections in New York bit.ly/2v5HLQY • Current City Bike station usage in New York bit.ly/2v3xWCZ. The historic data seems more interesting, but a single month can take up to 200MB space. With many months since launch, you can imagine that this requires an HDD with lots of free space. • Parks bit.ly/2v1VuIm, art galleries bit.ly/2v2OriR and libraries bit.ly/2v4TS0u in New York • Jobs in selected industries in New York City, New York (2012-2015) bit.ly/2v22uVB. Here is another graphic if you wish to see the same for all other regions bit.ly/2tFK1Lh. While the upper bound for the number of jobs across all industries was ≈550000 in New York City, other regions had at most 200000 jobs, at least for the industries of interest. In many regions outside the City, the information sector seems to have been less developed than manufacturing—somewhat surprising. • Los Angeles airport flight operations (01.2006-05.2017) bit.ly/2tFuues. There is an almost complete overlap between the number of departures and arrivals for commuter and scheduled flights. We see a moderate growth in the number of scheduled flights over time. • Out of the 1385894 incidents with motocyclists in NY (2012-2014), 1741 ended tragically (0.00125%), for 78.8% men and 21.1% women, both having an average age of 41.46. Other states with many registered motorcycle crashes were NJ (26357), PA (13380), CT (11332), FL (9503), MA (4623) and MD (3227). The data comes from this 374.1MB heavy dataset bit.ly/2tEdaGD. • Unemployment in USA (1948-2017) bit.ly/2tDM3eM • Total fertilizer consumption in China (1951-2010) bit.ly/2tDbuNC • An attempt to isolate the clouds in an image bit.ly/2tCLtOA. I used the per-channel mask channel < median * (1 + ((mean-std)**0.5/std**1.5)), but that such masks can only be image-specific is quite annoying. • Chebyshev polynomial fit bit.ly/2tCNGcy. Reminds me of the colorful Bezier curves (for each metro line), all joined at a single center and having almost equally spaced points on them (the metro stations). That we could draw metro lines this way instead of with the usual horizontal, vertical and diagonal lines was not immediately obvious to me. • Simple gradient with mgrid and sqrt in 3 lines of code (< 5kB) bit.ly/2uYk6li. Or a finer grid with transparency bit.ly/2tBSjUc. Now you know that gradients are matrices too. • Historic development of E.coli on various beaches in Toronto (03.06.2007 - 24.07.2017) bit.ly/2tA46Ti. 3-4 beaches often had high E.coli count. • Didn't realize how informative HAR files are. You can load a page, save the performance data in this format (essentially JSON) and parse the file outside the browser. This is what I did with Spiegel's main page bit.ly/2tzLgLI. Note that my experience will be different from yours. I also didn't average the result over multiple runs (that would give me more files), so only a single load is shown. But the granularity at which we can work with the results is amazing. Even if a page loads thousands of resources (and it shouldn't), we can still quickly discover which ones are problematic for the performance of the website. • Comparing revenue on bar charts plotted in 3D bit.ly/2tznEqy • Upcoming events and festivals in Toronto bit.ly/2uVto1s • Green areas in Toronto bit.ly/2tyUW9A • Public libraries in Toronto bit.ly/2tyZ759 • Toronto traffic cameras bit.ly/2uVgQHh • Toronto traffic data bit.ly/2tvQcBf. Currently travel time and vehicles passing seem not to be updated, but I will keep them just in case they are in the future. • Non-negative matrix factorization (NMF) on Jane Austen's "Persuasion" bit.ly/2uQI0PE. It's hard to distinguish possible topics from such a result. Reading a small part of the book didn't help me either, so I gave up on it early. • Merging tuples on common items bit.ly/2ttGW0R • Finally found an answer to a problem I had: being unable to plot in 3D in Matplotlib for a while and getting the "No module named matplotlib.externals" error. Once I removed an existing package installed through the OS, it worked (as described in bit.ly/2uNuOLB). Yet, my other pain remains: being unable to export data from MySQL, while getting a strange error message from Workbench, for which I couldn't find help online. • This result of applying the median filter slightly surprised me bit.ly/2uM9w0E. Farbenverlust? • Finding recipes by a given criteria bit.ly/2uLWEaM • Short lines of varying width bit.ly/2tpSfad • Picking vector elements with a bitset bit.ly/2uKZYTO • Lemon slices traced with bezier curves (GIMP, no SVG) bit.ly/2uKOhMO • Persistent objects are called flies. Always returning to the same spot no matter what. • Querying Numpy as if it were a database bit.ly/2vJjNZ1 • A website that is very slow on load but instant on unload is new to me. "But why do you want to leave?" • Exploring car emissions data bit.ly/2vInYUX • When your data has 127 columns, you start wondering whether you are truly accessing column 55 or column 56, as splitting on the common delimiter doesn't seem to produce homogenous results across all observations. Perhaps a single character has been omitted somewhere, but it is virtually impossible to say where. This is what happened to me when I tried to look at the car emissions dataset from Albuquerque. Anyway, I found that lots of columns had missing values, so I quickly lost interest in the dataset. If you need the names of all columns, here is what I found bit.ly/2uHSK2R • A-graded restaurants in New York (by borough) with highest scores from hygiene inspection bit.ly/2uFbi3B • Reading Wired bit.ly/2uJOFfb • Men and women clothing brands on Nordstrom (19.07.2017) bit.ly/2uIdTLb • Gaussian blur on a 30x30 matrix bit.ly/2uFHtRB • Masking an image to highlight the main object bit.ly/2vecfxD. I saw a brochure where they were selling multiple objects (blankets, pillows etc.) and thought that perhaps we could highlight just the nice pillows, without the blanket. A single photo could be sufficient to present multiple products, but still without having to bother the viewer with them all at once. Initially only a single mask could be shown and as the viewer is moving their mouse towards areas of interest, other masks of objects along with their manually input descriptions and prices could be activated. There is no need to slice the photo into ten images of different dimensions and position them individually. Instead of taking multiple photos of single objects, we take only one photo of multiple objects and vary the shapes and positions of the masks. • Countries by income level, according to the World Bank bit.ly/2uBH0zC • ackermann(3,7) -> maximum recursion levels reached (Python); ackermann(3,14) = 131069 (C++, took some time) • Search among 1.9 million articles, powered by "The Guardian" bit.ly/2uu09n7. Reduced it to ≈10kB and added caching to avoid needless requests. • SVG gradients meeting at the edges of quadratic curves bit.ly/2v97TI8. Always a useful exercise to think in terms of point coordinates. Three paths with partially reused point coordinates and one gradient with two orientations. • Sadly, what I find in sites like Dribbble isn't inspiration, but depression. Every service that instills such feelings in me has no place in my life. • Updated the script about Wimbledon's tennis results bit.ly/2uzBv4G • "Things to keep in mind when designing a transportation map" bit.ly/2uxXAjQ • Aggravated assaults in Chicago (2001-2017) bit.ly/2v6VioR • Seattle traffic cameras bit.ly/2uxiOi0 • Tech companies in Seattle bit.ly/2v43TbX. Microsoft and Google are on the list as well. • Made a simple app to search for articles that appeared in "The Guardian". Good to see an open platform like this that provides so much content to mix and use in novel ways. I am waiting to see whether my app is conforming to the rules. Before that I reviewed New York Times policies as well, but it wasn't clear to me how I could possibly meet the requirements, so I decided to stay away from potential trouble. One advantage of news platforms is that they give us potential access to data we could link: for instance, if one article says that the obesity rate in Chicago is relatively high and another one is praising the many options you have for dining in the same city, there may be some correlation. But then to be able to fully explore such relationships, we need to have a lot of computational power, understanding of natural language and things like n-grams, stop words, stemming, lemmatization, Zipf's law, TF-IDF... • US cities with the most Starbucks facility locations bit.ly/2uv1udi • Regression coefficients on the Boston housing dataset bit.ly/2v0W2Mn • Never heard of the password sharing practice before, but it doesn't just look as an impersonation attempt to me. It is a direct attack at the core of software development and will negatively impact developer's willingness to release new software in the future. If the creator can't tell whether a login is truly coming from a paying customer or one that is pretending so (both having and using the same authentication data), then why should software construction still make sense? Perhaps we have reached the point of "Don't trust any user input", which makes the app model obsolete. It is unfair to ask any software developer to spend years of their time writing code, when at the end they will be paid 30$, at best, from a single person, who can sell copies of their data to 30 of their friends for 1$each. Everyone happy, except the developer, who now also has to maintain that. • Mutual information example bit.ly/2ur88RF • Although data visualization helps to understand the context in many cases, it doesn't come for free. When I want to obtain some result quickly, I prefer to have it as a numeric output. This doesn't interrupt my work, since I don't need to manually close a graphic window to return control to the main thread. • Installed an Android update on a phone that wasn't mine. It took perhaps the same amount of time that would take a fast PC to install five operating systems (the phone is quad-core). Not surprising, when the entire appvalanche of the Facebooks, Googles, Twitters and Pinterests needed to be updated (and still there weren't many applications installed that don't come by default). Made me happy once again that I am not having or using a mobile phone (and hence not designing for mobile by default). Also, whoever wants to reach me, knows that they must work harder than the social networks imply. • One idea for Python 4 would be to reduce error crypticality through shorter/more optimized stack traces. It is extremely tedious to have to look at A4-size error list every time when an error appears somewhere. This fills my entire console, irritates me as of where my last result was and generally slows me down quite a lot. If I am the client of a library, I don't want to know that it explodes on line 4326 once I start using it. What matters to me is that my own code works and that I am not bothered with useless details about software I am not immediately responsible for. By that definition, Python fails here for me. • "Two decades of recommender systems at Amazon.com" bit.ly/2uYCg3R. One of the most useful articles that I have seen recently. • As a client, if you seek bright instead of right, plenty of other designer options are available to you. • Climb up in constant time bit.ly/2uWUbIs • Connecting only points whose in-between distance is smaller than the 25th percentile bit.ly/2uX5tMW • Quick low-fi diagram of the traffic accidents in Denver bit.ly/2uVYuDG. Darker areas are indicating increased frequency of accidents. Also available: "Location and area size of the parks in Denver" bit.ly/2unD8SQ • Images with reduced-opacity blocks bit.ly/2um3owG. Could you still understand what is on the image if some blocks are taken away? bit.ly/2umya8X • Comparing deque maintaining sorted order and a heap bit.ly/2ulzyIY • Colinearity test for three points bit.ly/2uSxjtG • Some tennis results from Wimbledon 2017 bit.ly/2uis8Gm • Why can't the browser update SVG element position to give real-time feedback in the same way CSS adjustments work? Currently, updates happen only on "blur" of a property value, while on "change" would have been much nicer. • Wondering whether there is an upper bound for the number of parameters a function can accept. A working function with million labeled default parameters of which I want to change just one would quickly illustrate how hard finding the right parameter could be. • CSS parquet bit.ly/2udL35d. Forgot its m2 price. • Obtained an R2 score of 0.848 on the Boston housing dataset while using Elastic Net with very low alpha and l1_ratio of 1. But the covariance matrix didn't look very informative. • Choosing where to refuel bit.ly/2uHEJQa • Common chemicals in cosmetics, California 2007-2014 bit.ly/2u8eOnL. I try to avoid cosmetics whenever possible, but many people prefer to use them every day, ignoring the contaminants. Who can go against a widely accepted practice that has become an expectation? • Top Texas arts grants for 2017 bit.ly/2u7fda2 • Weather probability with Markov chain bit.ly/2u72fJo • Filtering an image with different filters and and kernel sizes bit.ly/2uFYk3s • Illusion with horizontal, vertical and diagonal lines bit.ly/2uEMlTv • Cell magazine has demonstrated steamlines bit.ly/2uEyqg6 • Upcoming films in Chicago parks (until 07.09.2017) bit.ly/2u4qZC8 • Visits of the Newcastle library branches bit.ly/2uD3ltm. It looks as if at some branches they have stopped measuring. In April 2017, the biggest library registered 54.2% less visits compared to the peak in September 2009. Sometimes, for a given branch, multiple months have the same number of visits, which is strange and perhaps resembles an average number over some period. But this flattens the curves and distorts the results. You can check the following dataset bit.ly/2uCYbxw. • Are there any data-capturing devices you would recommend to a friend? And if so what is your impression of using them so far? Have they helped you to finish a project you were interested in? • Trying to study how this is made bit.ly/2uCxbhO • Resistivity vs. conductivity for some materials bit.ly/2u3Fg1W. Had to divide it into two graphics to make it more readable. After mercury (bottom right, first graphic) follows nichrome (top left, second graphic). The log function refused to compute the values for PET and teflon, but these must appear somewhere at the bottom right in the second graphic. • Connecting nearby sides bit.ly/2u2K0F8 • Canvas figure from triangles bit.ly/2u16oP2 • Comparing two primes functions bit.ly/2tZw0M2 • Summarizing the 1GB New York Times corpus in 1hour on a 1.3Ghz laptop bit.ly/2utRtdc • Interesting to see that it may not matter whether the duration of a trip between 2 cities with ICE is 2:19 hours or 4:01 hours as the ticket price will be the same (according to DB's app). • Decided to check which US magazines have the highest circulation. Learned that I have completely forgotten about "Reader's Digest" and "Time", whose websites seem to be full of ideas. • Knowing the bill before the waiter bit.ly/2uqtBqC • Reducing the size of file access logs bit.ly/2tR11lm • Simulating communication between nodes bit.ly/2tNknrL. Longer distances take more time (as seen on the web). • Gradienteerie bit.ly/2tMQgk4 • Visualizing vector fields bit.ly/2uiWLbg • Tour de France 2017 stages bit.ly/2tJ5E0P • Libraries in Leeds bit.ly/2tIwO8f • Wi-Fi hotspots in Barcelona (by district) bit.ly/2ugLecv. Most of them seem to be in Eixample and Sant Martí. • Negative bobbles bit.ly/2uf5nQg • Never thought about traffic flow in terms of fluid dynamics. Thank you for that parallel. • Visualizing forward, backward and central difference bit.ly/2uehYD9 • Interesting diagonal stripes made at Stripe bit.ly/2tE9PuC • "A summertime tour of public art" nyti.ms/2tDAwjc • Hidden surface removal and useless action removal have something in common. • It must have come to me while I was sleeping. But Daily Dilbert seems ideal for computer vision tasks and specifically extracting text from images and assigning it to the proper participants. Only that sometimes it is unclear who screams something from another room. Oh, my mind, what's the business case for that? • MoMA artists and their work bit.ly/2tCzeoS • "HBR Ideacast" - full list of interviews (as of 01.07.2017) bit.ly/2tBUE5e. Requires a subscription, but I remember listening to some great interviews while this was still free. • Learning about smartphones from rankings (01.07.2017) bit.ly/2tBc3ee • SVG polygons can be used to highlight a given area on a map. However, many instances have the problem that the polygon doesn't look as an integral part of the map, but as a separate patch. Perhaps there is a way to fix this that works universally on all maps, but if the fill isn't fully transparent or have very low opacity, where the border is more pronounced, I am not aware of it. • Would be interesting to see which component determines the price of a hotel room to a greater extent - its location, its furnishing cost, its number of stars, the positive feedback received or something else. Sound like an opportunity for an interesting article if you can find relevant data. • Interesting to see the results from the KDD cup 2017 bit.ly/2twPyHv and more specifically that "Longing for a teammate" (an individual) did better than the "Warriors" (a team of twenty) and the other 3500+ participating teams... • Extending an article from today with the graphic that was missing in it bit.ly/2u6ktHP • Some websites can't load in two minutes now. So I go for a walk and return when I expect them to be done. There aren't just modal windows, mouse tracking features, ad loading, web analytics, maps, 50 images, clickbait sections, comment areas, boilerplate articles... • Find the nearest cities around a given city in Germany bit.ly/2u334jf. "Neuenkirchen" gives a particularly interesting result. Using animated results gives the impression that the page is slower than it really is. But in this case it can help us show the order of increasing distances while keeping the number of UI elements minimal. The demo was finished in 2.5 days. • Are lattice and lettuce two separate things or the the lettuce has a lattice graph sleeping in it? Lattuce? • Obtaining the HTTP status codes from Wikipedia bit.ly/2teE0bQ • Three ways to group data bit.ly/2teos7S • Used the gradient boosting regressor on stock price data and the result surprised me in a positive way. Couldn't make logistic regression work due to a strange error message. But if thousands of people are using the same widely available techniques, what is then so interesting about them? • Random CSS grid bit.ly/2tJZJW2 • Average time to traverse a directory bit.ly/2tam4Po • Noticed that someone visited the tube map of London on this site and remembered the article I came across today, which mentioned the problem that inside the tube the temperature increases over time if no sufficient ventillation is provided. An interesting problem, which underlines the importance of careful infrastructure planning. • Increasingly excited bit.ly/2t6mA0R. That the start of each line looks as if it is the head of a snake is an unintended effect. • Value accumulation at the bottom right of a matrix bit.ly/2tEYiIr • Interpolation of matrix interpolations bit.ly/2tDwHYc. We could adjust the 0.5 factor to anything we like. • This code doesn't look as if it was written by hand bit.ly/2t3KVo9. Due to its repetitive nature it is of limited value to a reader. Can we say then that programming the programming eliminates the reader? • Libraries by square feet in Calgary bit.ly/2tCS2Rr • Brisbane library checkouts on selected days in 2017 bit.ly/2tC5jto • Electric vehicle chargepoints in Bristol - in light scheme (labeled) bit.ly/2tC3ooM and in watercolor (unlabeled) bit.ly/2t2sobK • What would be nice to see: A "Who made this?" page, where some people show us things we take for granted today and another group of people shares what they know about the creator and the circumstances that defined their work. If we think about it, most of the work has been done when we didn't exist and will be done when we are no longer. Could be an attempt to highlight and bring back to memory the names and the characters of the people which helped to shape the world the way we see it today. • Bikeways in Brisbane, Australia bit.ly/2t1PTla. Sometimes biking can be a great way to relax in nature. But driving next to cars and breathing in their pollutants is not an option for most health-conscious people. The bikeways have to be far from regular streets to have any effect on the willingness to bike. Yesterday, I saw how the bikeways in many EU countries look like (bit.ly/2tBu2y0). The dense networks in Belgium and the Netherlands are quite impressive. • Cafes and restaurants in Melbourne by total seating capacity bit.ly/2tBqUCf • Interesting to see at least one city in the UK, whose public expenditure info points to a heavy investment in a website. Perhaps there are more cases like this, but seeing such a preference over the many other things that the city could have done is entirely new to me. At least some people still appreciate modern web design. • Road traffic images from Singapore bit.ly/2sYMtQb. I noticed that some cities have started to provide such visual data allowing everyone to observe the degree of traffic congestion. To reduce the load time, only images from 12 randomly selected cameras are shown. You can also see the current positions of the taxi cars bit.ly/2tyonbY. Some streets are being used be many taxi drivers. • Paying people for "results only" has always been a questionable practice. If effort frequently leads to no results (and it does), then why should people willingly waste theirs when there's no reward for it? The consequence of this can be seen at many places and levels: neither effort, nor results. We are more than our output can show at any given time. If only 10-20% of our work leads to results and are rewarded for, how could we have the resource to power through the rest, the 80-90% of the time? How often can we afford to spend countless, invisible hours which lead nowhere? Why is code "worthy", but the brain and eye damage needed to produce it aren't? Be sceptical when someone mentions the word "productivity" in front of you and seek whether they are attempting something by speaking your work small. • It is often said that the complexity of the solution should match the complexity of the problem. But what if potential usage would be small? Does this justify years of development then? Adjusting the complexity of the solution to the expected usage may shorten the time to feedback. Big solutions demand enthusiastic users. • If someone claims on their CV that they are proficient in 15 different programming languages, what is your chance to be chosen and why should you even apply? The market deserves what it values most and it's pointless to try changing that. Instead of spending years of looking for jobs and going at the wrong interviews for the wrong companies, you could create something valuable immediately and use it as your selling point. And if after seeing your public work, people still expect you to show them your CV, then politely explain them that they are seeing you for the last time. Appreciate yourself and use your work as your CV. • It is up to you to say "no" to application components which overwhelm your system. Very often such components have something to do with payment in one form or another. "You just need to use our eight-step workflow to..." No, thanks. I am working on my system, not yours. Who sends a message to whom at step 6 is not something I am deeply interested in. If I sense that your system is heavy-weight and support is time-consuming, forget about integration and expect to see no product on the market. Principles are principles, even if you have to choose not to get paid. • "Body, soul, intelligence: To the body belong sensations, to the soul appetites, to the intelligence principles." - Marcus Aurelius. Another interesting idea in his work is that all things happen by change, also life itself. Change has been described as a stream of soon to be forgotten things. This means that if we are not thinking of our work as a continuous stream, we may be experiencing sporadic satisfaction from finishing an individual piece. We may feel that this work wasn't appreciated or worth our effort, where meanwhile the universe is only interested in its flowing. Perhaps we need to generate streams of things that flow in certain direction. • If you use link shortening frequently, you can write yourself a small script to automate it, instead of logging in and out of a web service regularly. • Travel connections in Switzerland bit.ly/2tu8fbA • DailyMeals - update your restaurant's meal offers to keep your clients informed every day bit.ly/2tMBDt3 • Prefer published and working code/product over a published paper. Theory has its place, but not when it is spread at scale without being validated yet (plenty of such theory exists). If you find that the authors of a paper say: "Our code will be released soon", then this means that practice doesn't come first for them. They work with words, definitions and citations and this is their definition of a product. Normally, only if something has worked as expected, and is truly novel, do we earn the right to speak about it in front of an interested audience. Otherwise, we are just adding noise. Capture the idea, build the demo/product and then describe what worked well and what didn't. Otherwise it's not a paper. • Adjustable shape bit.ly/2tBioT3. Slow, since it communicates with the server. The code responsible for the shape generation is also shown. • The formula for the harmonic mean of two quantities H = 2ab/(a+b) reminds me very much of the formula for the F1-score, where instead of a and b we have precision and recall. This necessarily implies that the two must have equal weight, which may not always be desirable. • "Inside Personal Growth" - full list of interviews (as of 17.06.2017) bit.ly/2rBMlpp • "Design Matters" - full list of interviews (as of 16.06.2017) bit.ly/2syJflh • Find nearby dentists in Phoenix bit.ly/2taxCyS • A 3D object from five points (and some lines) bit.ly/2rmVgal • Connecting points on a circle bit.ly/2t9uAey • "Find the multiplicity of the eigenvalue 1 in the right stochastic matrix and check whether the number of communities in a sample graph is equal to that multiplicity. If so plot the eigenvector values for each eigenvalue of 1 and check whether they form stairs." Didn't work out. Having only a single such eigenvalue in a graph of five communities is mothing else but an angry factor. Perhaps there's something more to this description that I am missing. • Animating ten different sections on the same page, even when following the same style, is not a great idea, especially when the motion vectors point at all possible directions. Surprised to see in some instances lately that we still haven't developed a good sense for what is a responsible and viewer-friendly animation. It is very difficult to synchronize multiple animations so that at every time point their combined effect adds to the design of the page rather than makes it chaotic. Could you concentrate on the topic midst chaos? Would you watch three movies at the same time? • Found an interesting code in a library and pasted it in Google Search. This refered me to the book "Physically-based rendering", where it was defined one-by-one. Good to know, because the author didn't provide a citation or at least bother to give the variables more meaningful names to make the code self-explanatory. What looks like original may actually not be. • Activation functions in neural networks bit.ly/2sbI7Ca • Comparing determinant and product of eigenvalues of a matrix bit.ly/2rxfqNX • A simplified way to check whether an action had a positive effect on a single variable of interest, assuming that higher is better: mean(measurements_before_action) < mean(measurements_after_action) • Unemployed people and number of jobs in Munich (01.2006-02.2017) bit.ly/2sYBAL9. Uses open data from Statistisches Amt München. • A peek at the position and elevation of some peaks bit.ly/2sxtqvy. In my opinion, this looks terrible, where I cannot exclude the possibility that I have gathered the wrong coordinates for many points. • Some highly rated sushi bars and their location (US only) bit.ly/2svgXbQ • Restaurants in Pittsburgh, having a happy clientele bit.ly/2sV9jF0 • Find the number of connected components in a graph bit.ly/2rRVXLp • Equivalence of Pearson correlation and cosine similarity of centered vectors bit.ly/2rkX42D • Lindstrom's snowflake bit.ly/2r5PTw5 • Getting the error message "max_df corresponds to < documents than min_df" in scikit-learn when attempting to extract topics with NMF and LDA from manual text (not an integrated dataset). Exposing the guts of the software to the client is not something I like to see. • Overlapping parabolas, creating an unexpected effect bit.ly/2smey38 • Two-component PCA and t-SNE applied to each channel of an image bit.ly/2rGAwNq • A quick look at the libraries in Vancouver bit.ly/2r750Jw. Central Branch, Carnegie and Strathcona seem to be close, but otherwise the spacing between the branches is very close to being uniform. • Comparing different classifiers on the digits dataset bit.ly/2raeNK9 • Country contours bit.ly/2r6JP5C. Some countries are missing. Right click to open an image in a new tab if you want to see it enlarged. • Comparison of street lights power usage and cost (02.2014-09.2014) bit.ly/2sQ2DqR • Comparison of electricity usage in the City Hall and the central branch of the Public Library in Boston bit.ly/2rZOnzD. City Hall started measuring precisely on my birthday. • Free Wi-Fi hotspots in the Boston area bit.ly/2sN3ybO • Educational institutions in the Boston area bit.ly/2syTkwp • Daily active users of the Boston Public Library (28.10.2014 - 01.03.2016) bit.ly/2syT8x2 • Museums and acquariums in Los Angeles bit.ly/2sMcLBh • A nested for-loops construct that I discovered in a codebase bit.ly/2rWWnBg. Not to serve as a positive example. • A short chronology of terrorism in Europe (2004-2017) bit.ly/2s8sYUy, using data from an article. Not all events during that period are listed here (incomplete), but it still paints an interesting picture. • Circles moving in circle bit.ly/2s7eCDQ • Easy matrix operations with Armadillo bit.ly/2rlf407 • Credit card transaction classification with Bernoulli Naive Bayes bit.ly/2rk947J • Functional art bit.ly/2rMTtPE • Zooming in on the bus stops in the center of Vienna bit.ly/2ssWQaN • House price index by county bit.ly/2qHidDM (overview). A more detailed article may follow bit.ly/2qFoRzu • It seems that detrending can not only by applied to time series data, but also to image data bit.ly/2qFbBGe • Winnow algorithm bit.ly/2qz2fMR • "Load balancing in supercomputers often uses space-filling curves." One creative use I would never even think of. • A spiral ending in a circle bit.ly/2rwAtVq • A balancing act bit.ly/2rMuYl3 • Cantor's observation without words bit.ly/2raRMsc • Parks in Chicago bit.ly/2saL04W • Parks in Salt Lake City, whose area is bigger than one acre bit.ly/2s3pGPv • Adjust the number of clusters in an image to observe the cluster boundaries bit.ly/2rtLJ53 • All parks in Atlanta, ordered by area bit.ly/2qpTwfR. Which one is your favourite? • Crop acres by crop type and year, Alberta bit.ly/2r8K2Jk. Since this is discrete data, with measurements every five years, the points do not appear connected. Durum wheat adds the most acres in recent years. According to this data, the top 5 producers are "Forty Mile County No. 8", "Warner County No. 5", "Special Area No. 3", "Vulcan County" and "Taber, M.D.", where the most acres have added "Newell County" (x7.45), "Rocky View County" (x7.05), "Lacombe County" (x6.90), "Red Deer County" (x3.87), "Cardston County" (x2.67). • Month-by-month consumer price changes in Alberta, relative to Canada (2007-2017) bit.ly/2s6oBWq. Energy, transportation and partially shelter prices seem to fluctuate the most. If we sum all percentage changes over time for each category and location, we come to -63.69 and -16.90 for "clothing and footwear" in Alberta and Canada, which likely means that the prices in this category have fallen over time (where zero would indicate no change). But this is the only minus sign we can observe. On the opposite side are "alcoholic beverages and tobacco products" with 379.80 and 302.90, "food" with 303.50 and 305.80, "shelter" with 271.19 and 215.40, "health and personal care" with 257.9 and 173.80, "furnishings and equipment" with 195.60 and 211.69. Although it deviates most, energy comes to a combined 74.40 for Alberta and 188.19 for Canada as a whole. In the case of "furnishing and equipment" we can see how strong the combined effect of many small (or hardly noticeable) price increases can become. • Traveling dots bit.ly/2qoaxHk (problematic in Firefox) • Dividing a medium with Fibonacci-powered boxes bit.ly/2rExVUQ • Wurm bit.ly/2r1uMxv • Broken bit.ly/2r0T37d • Piecewise linear distribution with selected parameters bit.ly/2qfNqma • Morphological gradient, followed by sharpen filter bit.ly/2rY0KYK. The gradient is said to be equivalent to the difference between dilation, which thickens the shapes and erosion, which makes them slim, so we are left with a contour. • Check the vertex type between two adjacent edges bit.ly/2qiXzdZ. Based on a formula I saw in a paper, so be sceptical about whether this is correct. • Detecting strong corners in an image bit.ly/2qja4pE • Compute region area in an image bit.ly/2rXMWgO • Deep initialization of structs bit.ly/2rBqzSa • Memebership checks in C++ containers bit.ly/2qktp99. Not perfect. My initial thought was to write a single function with a single template, so that most containers can work with it (like the "in" operator in Python). This turned out to be hard and then a voice in my head started asking: "Why don't you know your container in advance?" • "Here is your portion of animated digit-al macaroni" bit.ly/2qbhfVf • The beta function bit.ly/2qVDmfv • Work that is not appreciated or rewarded, is never seen again. • Determine the number of eigenvectors needed to capture 96% of the variance in an image bit.ly/2rulY3Y • Comparing machine output quality bit.ly/2r96LWo • Relativistic mass of a particle bit.ly/2qLKlcv • US cities air quality check bit.ly/2r8cJXz. The tomorrow's forecast for one city was given as "unhealthy for sensitive groups". • Sample spectrogram of a song bit.ly/2rF7QC3. It is said that music from the same genre may lead to similar patterns in the spectrograms, which is interesting. • Two ways to insert items in sorted order bit.ly/2qJ10eU • Locations and relative size of the parks in San Francisco bit.ly/2roN8sV. Can you confirm that the figure is correct? • Using the function from the daffodil lemma bit.ly/2qBtbOj • Validating convergence of series bit.ly/2pU5rqc • Top 40 artists by number of artworks in the Tate gallery bit.ly/2rzGai8 • Understanding product profits bit.ly/2qAODnf • Guide the postman bit.ly/2rloOYW • Matrix multiplication with the Strassen method (JS only) bit.ly/2pRrNZv • Reuters RCV1 defeated my machine, so comparing classifiers on this dataset will be left for another time. • Finding the most common colors in an image (fast, minimum dependencies) bit.ly/2rfPDOo. Updated to include approximately similar colors. • "Batch normalization enables higher learning rates" And I wondered why so many people mentioned it. • Venue plan and exhibitors bit.ly/2pU4SIQ • A word w, for which w==w[::-1], is a palindrome. In the works of Jane Austen, such are "madam", "noon", "refer", "sees", "level", "deed". • Reshaping data without external libraries bit.ly/2qoTDL0 • It would be nice to see a statistic how many web apps were canceled for security reasons. • Interpolate from one range to another bit.ly/2qNOXjj • A cashier, serving bit.ly/2pSLR8S • "If you write CSS, you probably already write SASS as well." This may be the case, but the way you voice your assumption, takes my breath away, so you may not hear my voice. • It's surprising how fast my opinion forms about non-paying companies/individuals (and how hard it is to change then). Once this happens, I won't care about you or your company name. • A look at the digital camera reviews at dpreview.com bit.ly/2rikk1v. Update: eliminated the duplicate emplace_back function calls. • Relative budgeting (JS only) bit.ly/2qktWKd • A numeric look at Porsche car models bit.ly/2rd482C • Highlight instance with max sum of weghted attributes bit.ly/2qctzmO • For the first time I see an attempt to access elements with arr[dx*dx + dy*dy], where computing a distance between two points is a matter of taking the square root of the key. Unfortunately, this way doesn't preserve locality of reference, which means that we will be accessing our memory in strides—exactly the case that a good book on high-perf computing would advise us to avoid. • A dataset consisting exlusively of numeric values doesn't tell me what they are about, especially when the meaning of the column labels is unclear or there is no documentation about them. Wanted to explore a dataset about car crashes to seek out places with higher incident rate, but this is what stopped me. • An approximate, low-fidelity map of the world bit.ly/2q9aL7R • US GDP by state (Q4 2016, seasonably adjusted) as a choropleth bit.ly/2q9Nbra • Bokeh's beautiful function about equally spaced colors seems to work as advertised bit.ly/2poEWZJ • Weather forecast by Yahoo for a city of your choice bit.ly/2q5TKvq • Find the centroid in a cluster bit.ly/2q8y9jL • Using Brent's method to find the root of a polynomial bit.ly/2pmY4HC • Deaths caused by air pollutants within the EU bit.ly/2qTQap5 • Terse easings in kute.js bit.ly/2qYIYnP, blend modes in paper.js bit.ly/2qqFZZa • Running latent Dirichlet allocation (LDA) with scikit-learn on Seth Godin's blog posts to identify the topics he is most often talking about seemed an interesting idea, but my inner voices rejected it. If you are interested, you can find an application of LDA on a sample dataset bit.ly/2puN5a2. • Find images of cichlides bit.ly/2qoz82u (uses The Aquarium Wiki) • Using SVG paths to indicate the internals of a lemon bit.ly/2pshx4I • With a quick look at a newsletter, I learned the following about media queries: @media (min-width: 600px) and (max-width: 1000px) {...} can now be shortened to @media (600px =< width <= 1000px) {...}. If this has a wide support now, it is great news for keeping sites more maintainable. • Declaring hundreds of variables and having the time to do something meaningful with most of them are two different things. • If the ratio comment lines:code lines in your files is more than 5:1, you should be carefully reviewing your comment auto-generation practices. Pulling things out in a separate documentation may be more appropriate. This is very common to see in PHP code, which for every function containing a single line has ten comment lines. Such code is extremely hard to read. Something which is intended to be read by people must also be written by people only. • Minimax and maximin bit.ly/2qKs2Fm • Character codes bit.ly/2pspesq • Some technologies/software for which I can't be hired include: Java and Scala, C# (couldn't find adequate resources about it), Go, Node.js, ES6+, many JS frameworks, CSS preprocessors (LESS, SASS etc.), Git, Vim & Emacs, functional languages (Haskell, OCaml etc.), PostgreSQL, MongoDB, Julia, R, Neo4J, Processing, Photoshop, Excel and others. Using any of these in your technology stack or asking me to adopt them will make our collaboration impossible. If you come with a problem to me, be prepared that I pick my own tools. • Everyone complains that the jobs are missing, which is great as a newspaper story, but noone is willing to admit in which contests they participated. If you contributed to the contestization of the jobs, sharing your knowledge with others for free, you have no right to complain about disappearing jobs. • A simple application to make people more aware of when your business is having happy hours and what you are offering then bit.ly/2qPsQFY. A screenshot is also available bit.ly/2qGKWwJ. Contains a thumbnail of a nice butterfly photo from Pixabay (as a spacer for your interior/exterior photo). Especially liked the speed of the search-as-you-type in latest Chrome. If you encounter problems, feel free to share information about them. • Making screenshots of popular websites bit.ly/2qHbBqc • An idea I learned about yesterday, represented in code, even when this may be only approximately accurate. I called it "calorie development during running" bit.ly/2pcefCE. • Visualizing pairwise cosine similarities (height) between two vectors (width and depth) seems like another great example for values in 3D. • Cumulative sum of the reciprocals up to 1 million bit.ly/2pZLzl9 • Do you know exactly how much memory a modal window is adding to your website? If someone has ten open tabs, they are likely to notice it. • After trying to fix this strange label issue for more than three hours, I finally gave up bit.ly/2pI1PGv. On the web, JavaScript never bothered me with a similar problem. • Angles on the unit circle as fractions of π bit.ly/2pvwQN2 • Purple shape (not very smooth) bit.ly/2pt5fMF • Values in a cube bit.ly/2qoj4gR • "We are company Y now." No. You are still company X, trying to lie the same customers under another, more trustworthy name. A truly new beginning doesn't coincide with the yesterday's ending. Once you say this, expect no trust from me. • Find quotes bit.ly/2oYL5qx • Another view of the US national parks bit.ly/2oY85pu • Analyzing food composition (Source: matvaretabellen.no) bit.ly/2qsG3DB • Seat utilization in different libraries at the University of Karlsruhe bit.ly/2pxeOuh • Experimenting with SVG polygons bit.ly/2qqEN3M • NASA images of the last week bit.ly/2oGi0EU, near-Earth asteroids last week bit.ly/2prFR8j or photos from Mars: the last six from each camera of the "Curiosity" land rover (very slow, need to wait 35-40s) bit.ly/2prUt7G • A small change in an external API effectively disabled the weather application, where it was previously showing the weather in Seattle. Fixed this and added a simple form to make it work for any city. Here is the old link in case you missed it bit.ly/2gyei8E. • One way to avoid Counter(responses).most_common(1)[0][0] is to use mode(responses) if we know that the highest frequency exists only for a single response. • Mean, median, mode, standard deviation and variance in a few lines of code bit.ly/2ptiPQA. • Sample PyCNN edge detection bit.ly/2pFXkNr. Can produce too many edges that start to draw attention from the actual objects in the image. • I used to believe that the temperature difference between two cities that are ≈300km apart can not be more than a couple of degrees. 15 degrees is what it was yesterday. Left my eyes wide open. • Tried to extract the HTTP status codes from sample HTML with regexes, which almost worked, but it was not possible to predict the many special cases where the regex would fail. But it gave me an interesting thought. If we could control the formatting of the data with an upfront thought of how we will match against specific pieces of it, we could write simple regexes that will work most of the time. This could reduce our needs for an external library like an HTML parser, for example, which depending on the environment, may be unavailable. However, real-world data doesn't like to follow established formats, so it won't like our regexes. • Learning about San Jose bit.ly/2oPMyQt • Convert between some weight, length, area and volume units bit.ly/2poRkHK. "3 cups are equivalent to 48 tablespoons or 709.76 cubic centimeters.". Always wondered how much to fill the tablespoons. • A simple animation with JQuery bit.ly/2q20rMy • Sliders with JQuery bit.ly/2p0TRY8. Using a library to create something as simple is this is not the right way to do it. Notice that all resources are minified and the demo is still 142kB. This is equivalent to loading a mid-size dataset having a lot of variability and giving the chance to tell an interesting story. By default the sliders disappear if the "slider" class is set on a div element (as shown in the JQueryUI docs) and we disable JS. But we can use the replaceWith method to change a native slider to one that is JQuery-enhanced. • Wondering whether left-handed people would prefer a mouse cursor pointing to the right. Can't explain how this thought came to me. • Stitching hexagons to the same vertex bit.ly/2orJ22K • "Teamwork sophistication is generally lacking in emerging market countries. People see no benefit in teamwork because others may be able to recognize their lack of competencies and mistakes. They have not been trained to work properly in teams and are not rewarded for their contributions to the team." Very well said. But in general, people are not rewarded at all, not just for their contributions. And teamwork mostly fails due to the lack of mutual trust. • Momentum for convergence in fewer iterations #distill. Especially liked how connectivity was explained in terms of the ratio between the second and the last eigenvalue of the graph's Laplacian matrix. • Faster BBC front page bit.ly/2oY3hDz. DevTools showed 624kB, 128 requests, DOMContentLoaded 5.50s, finish ≈18.17s. Compared to the current main page (1.7MB, 219 requests, DOMContentLoaded 6.64s, finish ≈23.65s) this one seems be faster. The warnings were touched as well bit.ly/2oDMv9D. • Observing frequent items bit.ly/2q7352L • Checker pattern from matrix bit.ly/2oBmKr6 • While creating the previous demo, I noticed an interesting effect in relation with multiplying a number by 0.01 bit.ly/2q2yRxS. I thought that some of the frames in my animation were "jumping" due to these small inaccuracies, but the actual cause was that ImageMagick was adding them in a different order. To fix this, I padded the file names with zeros—001.png, 002.png until 100.png. Might help someone. • Linear interpolation between a and b: a*(1-k) + b*k. Linear interpolation between two matrices A and B: A*(1-k) + B*k, demonstrated in short demo bit.ly/2oggZTE. The two matrices have their values sorted on different axes. • Image stitching bit.ly/2ox9q7a • People traits and Jaccard similarity bit.ly/2q1DWqi • Decoloring an image bit.ly/2ouP6Ua. The top image is the original, the bottom one is decolored. Notice how the colors are muted, which leads to a perceptually pleasing and more uniform visual result. • Histogram of the RGB channels of an image bit.ly/2pMxaoQ (≈10 LOC) • My app was working nice locally, but getting the warnings once online bit.ly/2obtMHb. Then I found the following sentence: "Beginning in January 2017 (Chrome 56), we'll mark HTTP pages that collect passwords or credit cards as non-secure, as part of a long-term plan to mark all HTTP sites as non-secure." Invalidating the web is now someone's main goal. Only that we carry the costs everytime big changes are introduced, where being unapologetic to the masses seems to be common now. Even when things don't work as expected, the least we can do is to ensure that our app is fail-safe and still operational, albeit having a reduced feature set. In my case I was at least pleasantly surprised to see that. However, it is pointless to release something whose features can't be guaranteed. • Consistency matters (otherwise you see the effects) bit.ly/2opllE6 • A bug in my OS didn't allow me to export any data from MySQL. I hoped that re-install would fix this, but it didn't work. The error message mentioned something incomprehensible to me (__getattr__ missing or something like this) and advised me to look at the DB error log. There I saw clearly that the cause was in an OS component, so I didn't know how to fix it. Complete uninstall of MySQL and Workbench quickly followed. • Representing and visualizing disjoint sets bit.ly/2oQ9bHv • Distances of possible paths in a concert tour bit.ly/2oncWQP • Comparing company offerings on multiple dimensions bit.ly/2plGF13. The first time I learned about this useful way to compare alternatives was in "Blue ocean strategy" some years ago, yet for the first time I am able to visualize it on something else than paper. Still, it would be even nicer if we could create non-contiguous lines just by using None within our list of values. Currently, the plotting function avoids dealing with uncertainty. • Andrews curves bit.ly/2oCE1CL, reusing the temperature data from a previous demo. • NBA leaders having more than 75% of the highest efficiency (2017) bit.ly/2od3r7g • Easter is approaching bit.ly/2ozwOUg. Ready to paint? • Rolling mean & roll-rotate bit.ly/2nJMmFX • Paths from source to target in a graph bit.ly/2pbucdj • "We use cookies on this page. We rely on JavaScript for our content. Please, accept both." • You can't make graph cuts without graph scissors. • Aim for at least v3.0 of your software. v1.0 will be filled with terminology, paradigm shifts, patterns and styleguides that won't make any sense to you. It is also possible to skim content you find hard to understand or relate to. v2.0 is when you start understanding a little bit, but have trouble imagining how the things work in combination or in their entirety. You see the components, but not the connections. You can't see, imagine or draw a diagram of the whole. You are still sceptical that things don't work the way they are explained. You mix component responsibilities. v3.0 is when you start to understand the context of a problem on which you worked for a while, where you return to evaluate your previous knowledge/experience from a fresh perspective. Now you know why things matter and how you could go about choosing your own ingredients, the sequence in which you mix them and the exact proportions in which this needs to happen. You care about the added value of the whole system and are wary of anything that has just a supporting function and an unbalanced weight. You simplify the system to find the most accurately describing model of your current reality. You hear the word "opinionated" for the first time. • Compare the distance:price ratio of different flights bit.ly/2omZVsa. If you were to set the ticket prices for the flights Boston-Dallas, Houston-San Diego and Chicago-Austin to$364, $405 and$310 respectively, then the flight Houston-San Diego would appear with the highest ratio, although not by a large margin.
• Top100 cities by population bit.ly/2opsDKQ. Had a hard time seeing more than three European cities on this list.
• Seeking promotions bit.ly/2nW9Hk0. Includes offers from multiple websites.
• Operating with masked matrices bit.ly/2nVonzS. If one of the values in an operation between two masked matrices is masked, the result at that position will be masked as well.
• Each letter in your name can be represented by a color depending on its position in the alphabet bit.ly/2o8KTpN
• Sortsome bit.ly/2oMWtdt. Create a simple matrix, sort the values on both axes, sum the results and plot.
• Diagonal stripes over an image with in-place, paw-over description bit.ly/2oSyia2
• Animal face detected bit.ly/2oRO5Gb (manually, 1LOC). im[40:140:3,180] = im[40:140:3,280] = im[40,180:280:3] = im[140,180:280:3] = 255.
• If someone claims that a website has been translated into multiple languages, then that needs to be true with no exceptions. We may then find that the translation happens in real-time, where the browser shows the original language (and we wonder what's going on), spending two seconds to replace the text with the English version. This is not a properly translated website. And if the resources it hosts continue to exist only in the original language, despite our ability to see their meta descriptions translated, then they are still exactly inaccessible as if no translation was available. By the way, this website was ranked first place in its category for promoting open data and making it accessible to everyone.
• Type the name of a US city to see the websites of colleges in it bit.ly/2og2pdG. It seems that New York, Chicago and Houston have the greatest number of colleges.
• Electricity prices for domestic consumers in European countries bit.ly/2oOCNm7
• Germans and foreigners bit.ly/2o78itf. In 1996 the foreigners were 10.05% of all Germans. In 2013-2015 they were 9.51%, 10.23% and 11.76% respectively, at least according to Destatis.
• Population by state in Germany bit.ly/2oFl4Rj
• Demographic picture in Kiel, Germany bit.ly/2o1qVwQ
• Circulation, attendance and three programs at the New York Public Library (NYPL) bit.ly/2nfVeDc
• Public libraries in Nottingham bit.ly/2o4OAOR
• One small difference between PDF pages and web pages is that the latter are more susceptible to jank. Once you notice it, you start asking yourself why you aren't reading the longer pieces of content in PDF format, where it excels. Since most websites now publish articles spanning over multiple screens, it is unavoidable that PDF may once again become their primary competitor. To understand why, it is sufficient to compare the speed of reading a website to the speed of reading a PDF of comparable length. Alternative ways to consume the content must always be provided and where this is neglected, accessibility suffers. This is only one reason to say that a software without PDF documentation (not a website documentation!) has not reached its 1.0 version yet, no matter what the developers say. If you force your readers to click ten thousand times to read your documentation, then you don't understand usability as well.
• Between 08.10.2014 and 13.10.2016, the city of Las Vegas measured the energy usage of 15 street lights on a 15-minute intervals and documented the results in a dataset. The total energy usage sums to whole 315827.6kWh, while the total cost sums to just $8222.7 (or an average of$0.026/kWh). This looks amazingly efficient, especially when we consider that oftentimes the cost for using 0.967kWh over 15mins was given to be less than a cent. Many cities can only dream about such efficiency, where they are spending considerably more on street lightning. Yet, one night, at 19h, one of the lights at 1008 N Bruce St Sls consumed 0.56—the highest measured per allocated time period in the entire dataset. A separate list of solar plants might explain why the energy cost is so low. • Company establishments and employment by sector and state, USA 2013 bit.ly/2nb6ctA • Another batch of images generated by functions bit.ly/2n8Bd1j • There are resources aimed at developers which can easily trigger your internal doubt voices. The question is whether the code organization supports your understanding or not. If the code has been written in a convoluted way just to alter your thinking, without solving any new or existing problems, it is best to leave this resource aside, no matter which modern framework it uses or describes. That someone can type text in a way they understand is not a prerequisite for writing good code. If three levels of indirection are introduced for no apparent reason, this solution is probably not deserving to serve as an official example for the broad public. It seems that many people have realized that it is much easier to invalidate other people's knowledge simply by pushing out enough junk than it is to build on it, creating strong businesses out of the available technology. The introduction of new thought paradigms requires people to spend years trying to grasp them, which intoroduces a high cost for everyone. If we look around, we'll see that the number of "me-cool" framework creators far exceeds the number of successful tech businesses, so it's probably time to stop worshipping (and hiring for) any new framework or programming language that appears. Creating the framework to sell the teaching also doesn't feel right. • Random forests, L-BFGS and conjugate gradient, DBSCAN, k-means, kernel-based filtering, matrix manipulation, PCA, SVD and many others belong to the category "should have used at least once". • Polynomial multiplication and its effect on signals bit.ly/2ouHX9N • Determine sales price and assets (not precise) bit.ly/2ouGQa0 • Single Python loop vs multiple list comprehensions bit.ly/2nKJ2qI • Podcasts by Insight Meditation Society bit.ly/2ooJeik • The latest additions to the Python package index(PyPI) bit.ly/2ouAWCC • Comparing nearest, bilinear and bicubic interpolation when some pixel information is not available bit.ly/2nKLOOv • Three ways to multiply matrices bit.ly/2nVpQJj. Attempting to go through the pain of restoring at least some common files that I had. • I prefer discussing maximum support products rather than minimum viable products. I have seen enough abandonware. • The indirect proof that advertising kills can be seen on websites where the ad scripts slow down the machine to the point where the browser begs you to kill the corresponding tab. • Collecting user data without knowing what it will be used for can be a waste of storage capacity, which is not free. We have to know whether the user would be willing to spend sufficient time in our application before we decide whether it is feasible to store and protect their data. Different people have different storage requirements, which should also be reflected in our price points. Just because it is possible to collect data in any form, doesn't mean that we should. Once the data is stored, we have to guarantee constant, low-latency access to it even when the product is very rarely used—not a good position to be in. In the absence of enough users, this leads quickly to a net loss. Collect big data that you don't know how to analyze or which can't give you important insights to see yourself losing faster. Rightfully, there is no reason to be too excited about this. • Saw an interesting image created with networkx, where the nodes of the graph were missing (or at least made so small that they were hard to see), the connections were as usual lines, but very thin and with low opacity. The result was that we could observe the concentration of lines in certain areas—something that I see for the first time in such context. • "Python couldn't be that much slower (than language Y) or at least if it is, it will be by a small constant factor, which is perfectly acceptable." Statements like this would irritate me to the point of asking: "Why is Python allowing up to 1600 recursion levels and C++ up to 262000 (at least on my machine)? Isn't that difference a small constant factor as well? How dramatically constant is the difference between their memory behaviors observed on large sequences?" • If someone asked me what Java and JavaScript have in common, the answer would be: "addEventListener". A Java-like camel-case method name which found its way into JavaScript (being W3C-compliant). That you can attach multiple listeners to a single node isn't a sufficient reason to mix two very different notations and reduce the readability of your code. Using addEventListener would mean that in order to stay consistent, your entire codebase has to switch to camel case, using sampleVariableName and sampleMethodName, which is ugly. In Java camel case is ok (why?), but in JavaScript it is one more thing to avoid. If you disagree on this point, you will once again have to work with another developer. • If someone came and said "I'd like to have our company logo on each internal page where it belongs", why would someone avoid mechanically doing that? Imagine a visitor coming from a search engine, looking for a particular piece of content. Would you like them to know your company name before they found something valuable? Would you accept if your company name was associated with something they couldn't find, reducing the perceived value of your brand? You can be consistently wrong (placing the logo always top left) or you can be inconsistently right (placing the company name in the footer on less important pages). On this site, you can frequently see the latter; about the former you must insist (and be clear about the consequences). • Left Facebook, Twitter and LinkedIn a long time ago, never looking back. I remember how painful that was. Had to go through every single written bit on Facebook and individually click a delete button, because they didn't gave me the option to delete my entire feed with a single click. Took me more than 3 hours with several "almost on target" clicks (the feed was small). For some reason I couldn't remove my profile image, so I can still log into my account. Similarly, LinkedIn required me to give them a "good reason" why I leave. To me this appeared as if someone spoke from the height of a hill, so suddenly I was even happier for my initial decision. Remember, if a website instills in you the feeling that you are not among the appreciated/chosen ones, effectively making you unhappy, you are free to leave it anytime. I don't like to make myself easy to contact if either me or my work are not appreciated. Everyone who seeks convenient/empty/meaningless conversations with me is at the wrong place. If so, feel free to network with other people. • If you don't use WordPress, you are not a web designer, they say, while offering you a website. • It's not too hard to lose most of what you created as a result of your learning in the past 5+ years simply by using the wrong backup format (in my case tar.gz). It will fail once, but that will be exactly the difference between "great" and "shitty". That said, never trusting tar.gz once again. If for some reason you participated in the invention of this format or pushed it forward to its current level of acceptance, do not appear in front of me. • The worst thing you can do is present your code in a box having black background. Insufficient contrast was and still is the main reason why so many websites aren't looking professional. As soon as someone decreases their monitor brightness, most of the code becomes immediately unreadable for them. Companies making this mistake include Codepen, plenty of blogs focusing on code, some O'Reilly book pages... Editors making this mistake include Sublime Text, Atom, Visual Studio Code... Not hard to discard any service based on that single reason. • Solve first order linear systems with 2-3 unknowns bit.ly/2nhOr8C. Uses no external libraries; validated with Numpy. • Groups bit.ly/2nPUuUH • Monitoring system usage bit.ly/2ndJZJB • Historic monthly average temperatures in some cities bit.ly/2n4MIDJ. The data comes from a large dataset provided on Kaggle. If you see a white vertical stripe, it means that in this period no measurements were made. To enlarge an image, open it in a new tab. With the first created plot, the initial idea was to try to fit a Gaussian mixture model to the data points, but this took too long to compute. • Six ways to generate hex colors bit.ly/2nWPiuw. One more way could be by using token_hex from the new secrets module. • Detecting a flower bit.ly/2mZIFrZ, food bit.ly/2nrqnTh and buildings bit.ly/2mZZ6Vd • Price shift for product feature bit.ly/2mJjsRN • Parsing some YouTube channels for the latest episodes bit.ly/2nzkrYG • CSS grid from Pixabay images bit.ly/2mUXFaV. No external libraries used. • On my test image, Guetzli achieved 18% smaller file size, but it took a long time (over 10 mins), which makes it less than ideal for photo collections. The memory usage frequently spiked over 500MB, where the image was 786kB. Personally, I don't find this acceptable. • I like how similar the query and the response look in GraphQL. Having only minimal changes between them fully adheres to the "Don't make me think" rule. • Four variants of line animations bit.ly/2mWy5nz, bit.ly/2mWwOwp, bit.ly/2mzhhQ4, bit.ly/2mPYfXe • Image compression with singular value decomposition (SVD) bit.ly/2mQc1ut • Tourist attractions in Cologne, Germany bit.ly/2mtx03B (slow). If you know how I could create only a single map, then clone it and just vary the marker position on it n times as opposed to creating n individual maps and making countless calls and requests, I will be glad to hear from you. • Workforce jobs in the UK by region (1996-2016) bit.ly/2mrUy8j • I think I just saw the lerp function defined twice in a popular library. The definitons were the same, but there was a "distance" of a couple of hundreds of lines between them. A person which focused only on a single piece of the code would therefore hardly notice such code duplication. • A tiny bit mask checker bit.ly/2mFu30Q or all results on combinations of two simple masks (513Kb zip file, 3.4MB uncompressed) bit.ly/2nDOhrb • Impressions from the Roman's surface bit.ly/2ml1aWb • Impressions from the hyperhelicoidal bit.ly/2mkQ3wk • Impressions from the Kuen's surface bit.ly/2mkxyrR • CSS filters animated on a sample image bit.ly/2mkl0k5 • Some consumer trends in UK by category (1985-2016) bit.ly/2lSNYw0 • First Processing sketch from a long time bit.ly/2mPSieO • "Color smoke" by Isura bit.ly/2mg3DSi • Bessel functions as seen in the Sage documentation bit.ly/2ncwVFO • Compiled some programs that I tend to use more frequently from source and noticed some small, yet unexpected difference in how they perform. Since this is a slow process, it's better to do it either on a fast machine or with a relatively small codebase. • Looking at a large 250MB text file from NCBI Genbank (gbbct106.seq) for genes containing "ttacctag" took less than 10 seconds on a slow single core machine bit.ly/2mv52qT. Please, note that some of the files listed there may be copyright protected as stated in the "Genbank data usage" section bit.ly/2neCU9F. • Sometimes improving a database query allows you to delete a good chunk of code dedicated solely for the transformation of the data in the right form. • Know of an upcoming performance (theater, opera, operette) near you? Let more people know about it bit.ly/2mmM9WX. Here is the list: bit.ly/2lELYru • Taking multiple results from a database randomly at once bit.ly/2my4WQb • Total public expenditure on education as a percentage of GDP bit.ly/2maJQ7x. Data about Greece and Luxembourg was not available. • Satisfaction with the functioning of democracy in early 2015, according to Eurobarometer bit.ly/2lO1Z9z • Children born in each federal state of Germany (2013) bit.ly/2mLBtT4 • Asset inequality within individual countries bit.ly/2mWsDPm. Lower scores are better. You can read more about the Gini coefficient as well bit.ly/2mLpwgo. • Brutto salaries per month by sector in Germany (2014) bit.ly/2n58iGD • Brutto salaries per hour in the federal states of Germany (2014) bit.ly/2mdaRJj. Since these are averages, it means than if you earned much less than the lowest level on the chart, you were practically in long-term danger of having to ask for social help. • Population density in Germany (2014) bit.ly/2m8TjMD. The y-axis describes people/km2, which I forgot to indicate. • Unit labor costs in Germany between 2007 and 2016, separated by industry, according to Destatis bit.ly/2mbLxn6 • An attempt to illustrate the central limit theorem bit.ly/2lsPDIL. Used to infer about the population at large based on a small number of samples. • A side effect of putting 250 slides online is that clicking the next button takes three seconds each time until content appears. Minimal total presentation preview time becomes ≈12.5 minutes. In terms of time spent, loading a heavy website, which takes nine seconds would be equivalent to loading three slides. • Convolution, activation and pooling, when repeated n times in the code do seem to conflict with the DRY principle. We still have for loops and upfront variable definitions. • Box blur bit.ly/2mSwDAl. Do not worry about your eyesight yet. • Making sense of sequences of values in code bit.ly/2mZqqSs. We could have changed the alpha parameter of the plot function as well. • Selecting a discount rate bit.ly/2lKn5qj • Breather surface bit.ly/2m3V3a9. Not sure, but I might have seen it somewhere before. Looks beautiful and has a nice parametrization, but it may require a fast machine to create it at such level of detail. • Can't remember the name of a company whose payment I liked. No work then. • "The entire history of Kickstarter projects, broken down by city" bit.ly/2mkLwhm has many beautiful (and interactive) bubble charts • Association rule mining bit.ly/2mx83YK • Came across the wonderful "Visual bibliography of tree visualization" bit.ly/2moMl9j • Detail-rich flamechart from a recently visited website bit.ly/2lYG1Vh • A smooth line passing through points bit.ly/2m2H46Z. Using the same idea to visualize China's GDP over time bit.ly/2l4KiqZ • Font preview and comparison bit.ly/2mCnfjq • Sample histogram in R bit.ly/2lMOMzl • A quick, subtle pattern bit.ly/2mich6I • "Scrolling has become widely accepted, even expected" This is problematic since endless pages rarely provide endless value. Putting too much noise and then asking the user to find the 10% relevant to them ignores the fact that they have to work very hard to do this filtering (a reader is not a machine). In the long term, no user can sustain such an effort. Longer pages tend to collect lots of prerequisites, so that reaching a point that was poorly explained (or improperly understood) could mean that the rest of the page that relies on it will suddenly be perceived of low or no value. • Pre-generating SVG point coordinates with C++ bit.ly/2moO6Qx • Many-sets intersection bit.ly/2mveyqW • Deeply nested if-statements bit.ly/2mg2YnA • Simple color changes as shapes are moving bit.ly/2mfnept • Find which of the numbers don't play well with the others bit.ly/2l58BjF (uses D3.js) • Reactive biathlon targets bit.ly/2kRhmCm • If you animate just two properties on an element, why write transition: all 1s? Do you need to select all columns from a large database table (wasting lots of memory) when only two of them are of interest? Whenever you can, be more explicit. • Finger-style multiplication by 9: print([int(str(i - 1) + str(10 - i)) for i in range(1,11)]) • Sector representation in the S&P 500 index bit.ly/2m8YQ5s • Hint: If your company is failing with its "A" team of highly paid individuals, there is no reason to believe that every outsider should be willing to accept the penny rate. • Contains the word "transform", but is not animatable bit.ly/2l0ykKB • It seems that mogrify is not the best option for optimizing images coming from very heterogenous sources. Some will be left with disproportionately large sizes compared to other alternatives. • Test if a matrix has an inverse bit.ly/2lXqeGY • Test for projection and reflection matrices bit.ly/2l94INF • Quick CSS image effects bit.ly/2kApKGj • Dimming all other elements but the hovered one can be visually irritating when a big part of the screen needs to be repainted. The alternative is to apply the effect only to the hovered element (as usual), which reduces both the number of elements touched and the area that needs the repaint. Remember that in many cases good design may seem boring. • Possibly one of the most important CSS files I have ever seen bit.ly/2m8xpb4. The levels of depth are majestic. • Changes in colors and shape bit.ly/2kz63im. Light and dark shades are used here instead of different hues, which would have been more obvious. • Another way to see population by country bit.ly/2kHqYed • Yield from different crops in Romania between 2007 and 2014, according to FaoStat bit.ly/2lSp9Ae (log scale, cropped from top and bottom). A fairly interesting plot with lots of variability (and unfortunately overlapping labels). Maize yield was slightly problematic in 2012, but recovered since then. Between 2011 and 2012 there was a dramatic reduction in hazelnut yield, which persisted until 2014. Yield from anise, badel, fennel & corriander (combined category) as well as sugar beet is slightly growing whereas the yield from blueberries remains steady over time. The plots for other countries are different depending on what they grow, but the yields in well-developed ones (like Germany, the Netherland etc.) vary much less over time. Another interesting observation is that sugar beet is very often high-yielding relative to the other crops, which may partially explain why sugar is so ubiquitous in our food. • Public libraries in Chicago bit.ly/2lQSsTD • speechSynthesis.speak(new SpeechSynthesisUtterance('Thank you for using this website!')) • The University of California has a beautifully designed, responsive website (bit.ly/2kqXar0, 2.9MB), although some images could have been smaller in dimension and/or size. When new content appears, the boxes get rearranged, which may not be what the visitor expects. Using animation to fix layout is rarely preferable over remembering the last know state and following the established order. When the new content is first shown, some time is needed to calculate the new box positions. Meanwhile the reader may see partial content overlap (bit.ly/2lQlsYD). • Math processing error bit.ly/2kKRqV9 • Castles in Germany bit.ly/2lFZkTL (2.6MB). The source of the images is again Wikipedia. There are many castles without description, which means that this list is incomplete. Many photos have been taken with old cameras (some are still from 2003, almost 15 years later). • Castles in France bit.ly/2kl3i3R (Warning: 3.4MB!). Usually I don't do this. • Forgot to mention that it seems to be true that reading a dictionary can help us discover some new ideas when exposed to a large variety of things/concepts. • After a month of work I must admit that I have failed to complete the dictionary in a reasonable amount of time. I greatly overestimated the speed at which I can read, understand and re-type a given text. So I labeled this last version 0.62 to indicate the percentage of work done (and in need of further doing). Currently 19008 words and their meanings are included in a 3.2MB of written text (bit.ly/2lDs1g7). Despite my best effort, if I continued, another two weeks would be needed to finish, which is far too much time to allocate (and psychically exhausting). But the main takeaway is the same as before: we can retrieve the meaning of any word, practically instantly, on a very slow machine even from a large dictionary (see the video). This was the point that excited me initially to try to gather as much data as possible to demonstrate how scalable this idea could be. • Having to look up words in a dictionary by turning pages can be quite slow. Fortunately, in 2017 the response can be instant bit.ly/2jjseYn. Since the content is copyright protected, creating your own application means that it is for personal use only. • Gaussian blur of a photo bit.ly/2j4uUqa • The window of opportunity is now closed. • I will be available in #dummerAugust on chat.freenode.net in the next one hour to answer any questions you might have. • A beautiful book on fractals by Jeffrey Ventrella (freely available) bit.ly/2iBG0C8. Could give you many visualization ideas. • Minimum transportation cost bit.ly/2iacsPy • Price index and total household expenditure on alcohol in the UK bit.ly/2j1c84R. In the last 20 years total expenditure grew almost 6 times, while price grew over 3 times. Drinking is not only bad for your health, but also for your wealth. • Anno 1440 bit.ly/2jyLvFG • Different types of means of two numbers bit.ly/2iX59do • Klein bottle bit.ly/2i3Qwpj • Waves bit.ly/2i69CpQ • Cissoids bit.ly/2jidnto • Another interesting 3D function bit.ly/2jhUFSF • Comparing the overhead of storing strings separately vs. in a vector (C++) bit.ly/2iWCQvR. This difference seems to be even more pronounced than the one I observed in PHP. • Test if matrix is a sudoku bit.ly/2jqfQpE • Differentiating a matrix holding functions bit.ly/2joG0te • Spiral-like shape using modified Fresnel integral bit.ly/2jfFYQj • Hollow markers interrupting a line bit.ly/2ioz4rD. I saw this style in a presentation and decided to recreate it. • Plot of the function sin((x/16)*y) * cos((y/16)*x) bit.ly/2i2xZER • Almost every time I think about showing multidimensional data, the radar chart pops up in my mind. Fairly constrained thinking. • Predicting user-item ratings based on data from friends bit.ly/2iPAbBI • Explore function outputs for a given input bit.ly/2i1zSFb • Checking whether a number is prime with Wilson's theorem bit.ly/2hZYC0K • Correlation and covariance bit.ly/2iXRfoP • Variants of Airy functions (as seen in the GSL docs) bit.ly/2hXCDEr • Not touching Visual Studio Code anymore. Reason: configuratorial complexity. • The lower envelope of multiple functions bit.ly/2hQFHGU • The binary representation of a number bit.ly/2hQ63cl • Joining two matrices on a common column vector bit.ly/2iFwqkB • The sinc and the comb function bit.ly/2iwuydu • Calendar of web conferences 2017 bit.ly/2iL0Jnb is another view of the post "A guide to 2017 conferences" by Sarah Drasner bit.ly/2hNe4ig. For the most up-to-date information, visit the last link. • A sample layout generator output bit.ly/2j0jTsF. The box alignment isn't perfect, since there is no way to know in advance how many boxes would fit in a row. Depending on that number, the box width must be different to achieve perfect alignment, which would require additional styles. Here the boxes on each line are restricted to be of equal height. Doesn't use CSS grid. • Material densities bit.ly/2iSTqJH • Happy New Year with some arc mosaics bit.ly/2ij5s1Q • Hue-lightness by maximal, constant saturation bit.ly/2iiCteu • An interesting edge detection method bit.ly/2hD4kXN • Wondering how many people see the content they have created for the web from a tf-idf perspective. The results bit.ly/2igk2XO may not be what we expect even if we knew that repeat keywords receive lower weights. • US Federal Holidays 2017 bit.ly/2iprdxk • Visually confirming that the number of possible triangulations of a convex n-gon follows the Catalan numbers bit.ly/2hvKbhv. Here n varies from 2 to 14. • Publishing online-only documentation of your software product consisting of hundreds of individual links waiting to be clicked reveals that your understanding of the web platform is lacking. Skip the work with the web designer once and see people losing interest in your product. • Generated first audio noise with matrices. Great to see this possible. • Estimated capacities of some minerals by country (2014) bit.ly/2hwM4O7. Our resources are finite, which is why we shouldn't produce irresponsibly just because we can. This figure shows that we are depending on each other to have access to them since they are not universally available. The depletion of a resource at one place isn't just a problem of that particular country, but something that concerns us all. • Items switching hands bit.ly/2itwxNf • R2 score for evaluating regression bit.ly/2irJPtG • Watched Rio (2011) by Blue Sky animation studios, featuring two blue parrots in love, one of which couldn't fly. The number of people who worked on this movie was quite impressive. • 2016 NBA player performance according to the dimensions minutes played, total rebounds, assists, steals, blocks, turnovers, personal fouls and points bit.ly/2huMTbC. The best scoring players of each team are labeled. The cluster at the top seems to include players who were active only for a short duration. Visualized using t-SNE with subsequent standard scaling of the data, obtained from basketball-reference.com. • Incremental PCA for large datasets bit.ly/2hpyYC3 • Extract patches from an image bit.ly/2ian2TA • Growing your own Christmas tree bit.ly/2hqozrv • Split-sort-merge bit.ly/2hWVEKA • Periodic function execution bit.ly/2hEPYlA • Cold December nights require elves and lights bit.ly/2hoTl3V • Querying named tuples bit.ly/2i6X99L • It takes only three lines bit.ly/2i5ju7n • I never knew that a Gaussian mixture model can be a powerful data generator once trained on existing data (handwritten digits) bit.ly/2i0YmN3. Had to switch the GMM class for the GaussianMixture class because of the warnings. Then the sample method no longer accepts random_state as argument and returns two values (X, y) instead of one (data_new). Once fixed, everything works nicely. • Between the notes bit.ly/2inThgT • An attempt to classify butterflies bit.ly/2ifMycR • Fast data retrieval by key bit.ly/2hVsedx that should work well with very large datasets. • Another time seeing an entire page with "math processing error" statements coming from MathJax. Not a beautiful view. • Image filter kernels as defined in PIL bit.ly/2gUWLX4 • Is there anything you would wish to see on this website in 2017? Would be nice to hear about that. • Backlog of transactions bit.ly/2i1baWL • System throughput and average normalized turnaround time bit.ly/2gP4pao • Enneper's minimal surface bit.ly/2hR3zWN. Possibly not the smoothest one you could find. • The error function, also known as "erf" bit.ly/2huGm00 • The symbols of all playing cards bit.ly/2gKCKpd • Had to use one of those touch-screen systems with 14 different options to choose from. After standing in front of it for a couple of minutes and reading through them, I couldn't assign my case clearly to one of them, so I went back to information and before I finished my ques... "it's number two!". I was grateful to hear that, but at the same time I was wondering why a well-developed electronic system would need to have constant human support when potentially millions have been poured into it. If my question was to be expected, then imagine how many other people have wasted their time trying to understand this system and at the end interrupting other people's workflow. It was nice to have a waiting queue with a number assigned to your case, but the numbers were appearing on a big screen randomly all over the place, so I didn't knew in advance in which segment of the board my number could appear. The result was that I needed to constantly compare my number against the entire set of shown numbers, which after a while has started to exhaust me. The additional blinking of the lights could have contributed to that as well. My point here is that we can always do better. • Comparing matrix decomposition times of various methods on a 1000x1000 matrix bit.ly/2gCV1Vw. Cholesky decomposition is not always available (matrix needs to be positive definite). • Example of finding the median node with the highest closeness centrality bit.ly/2hjp4mw • Which day of the week was it? bit.ly/2hBzUAE • Adjusted close stock price of some companies in the last 3 years bit.ly/2hd3nnF • Exploring San Francisco's data on crime bit.ly/2gqdXIz • Progressively increasing scrolling speed seems like a nice idea until your users find out that they can't easily reach selected parts on the page without sufficient Fingerspitzengefühl. • Check the battery charge level on a mobile device bit.ly/2h4tafc. Our software must act responsibly when the user's machine is tired. We need to be able to scale down computation if we notice that it is not desirable at the moment. • Eartquakes last month bit.ly/2gDhHm9. Works fine locally, but not on this website, so I made a short video. • Pairwise distances in 7D on a heatmap bit.ly/2gRXITC • In-place manipulation of matrix elements to simulate broadcasting without external libraries bit.ly/2gW8QiV. In this case each element is multiplied by the golden ratio. • Never heard of "cronut" or "negroni", but the visualizations in "The rhytm of food" are nice bit.ly/2g8qChL • Price per square meter bit.ly/2goBPs4 • Taking the quick pill is rarely a good solution. I would never go for a ready-made system whose breaking is beyond my control. • CSS tricks now has guides for both flexbox bit.ly/2gbCZal and grid bit.ly/2gJZExM • A five-day weather forecast for Seattle bit.ly/2gyei8E. Changing the city is as simple as changing its numeric code. • Comparing dictionary vs. priority queue lookup bit.ly/2gTc4El. This is based on the wonderful idea that querying an item more frequently changes its priority, which in turn makes it even faster to access in the future (query performance improves). • Varying k (for different sets of parameters) in a Poisson distribution bit.ly/2fyhapb • Image on canvas effect bit.ly/2gf0i5L • Testing the visibility of overlapping circles bit.ly/2frEm8j (adding some variance can make overlapping data points more visible) • A page dedicated to discounts specifically for families bit.ly/2gzP8a7. You can read the current offers or publish new ones. • Average rate of return in a portfolio bit.ly/2guG05o • Value corresponding to percentile bit.ly/2gyL8qg • Conditional probability with Bayes theorem bit.ly/2flHGBO • Green-blue ring bit.ly/2ghp2bs • Someone at Google mentioned the importance of confidence intervals, so I made a small demo bit.ly/2fBuS8V, but it doesn't work with any confidence level. Try 95%, 99.5% or something else. • "Photoshop++ command: Make my smile wider" (via OpenAI) • Exploring salary structure bit.ly/2fWPQzQ • Binomial coefficient bit.ly/2fIVPVU • Freelance Isn't Free Act bit.ly/2gDv89i Although I am not a freelancer, having done some work for free convinced me that this is not how I want to spend my time. I also always thought that open-source work should be paid too and not treated differently than freelancing. Not participating in initiatives that don't consider compensation. • Packing a suitcase bit.ly/2g4JRXu • Repeated multiplication of a complex number with itself bit.ly/2gBflaY • Never saw someone spending so much time on ordering the apples they sell on the market, one-by-one. I think it was like a kind of meditation for this person as if they were internally proud of the work they do and the product they have. I could sense the joy and the smile of this person and instead of immediately signaling the buyer's intention, I chose to stay silent, watch this process calmly and wait for my turn to come. • Shortest path through the world's capitals bit.ly/2gH9Qsg. Some points have questionable locations, but this is the data that I found. • The area of a circle sector bit.ly/2gfOxdZ • Tangent lines at different points of a differentiable function bit.ly/2gx9K5J • Figures bit.ly/2fLE23s • Dome as a function in two variables bit.ly/2gbMSp8 • Function reflection bit.ly/2fhwnZL • For Hilbert drinking glasses and bottles were surfaces of revolution. • Move point between two other points, on the line they define bit.ly/2g6rr9s. The drawing itself is not interactive. Created to be a reminder of a beautiful formula. • Solving an upper triangular system by backsubstitution bit.ly/2fMGC6B • I almost always prefer "margin-left: 50px" over "margin-left: 300px". And if "margin-left: 0" is possible, I could eventually omit the entire declaration. The principle of minimum intervention prevents me from blindly moving objects across the screen when I could do better. And if a declaration would work on the parent, there is no reason to match this selector against hundreds of children. • The "directions of maximum variance" are the eigenvectors corresponding to the largest eigenvalues of a matrix. I had a hard time understanding this phrase for a while, but now that I know what it is, many libraries make eigendecomposition simple. Another idea that currently makes me uncomfortable is that there are an optimal number of features to select among many. So we need to eliminate the less important ones and point out why we chose to leave that many. The larger the data volume, the more important this becomes. If limited memory is an issue, feature selection/pruning is likely to help. • Finding friends via cosine similarity bit.ly/2gmqn4O • Finding the (six) nearest neighbors bit.ly/2fk1d1A. I dind't expect the JavaScript code to compress to 999bytes. • Listen podcast episodes bit.ly/2fwOQSG • Pulling random strings to disturb a surface bit.ly/2geshUd • Colors (5.4kB) bit.ly/2f1t74I • Two-minute papers RSS feed bit.ly/2fUtShd • Image sharpening without a graphic editor bit.ly/2fQUltI • Lines meeting at a point bit.ly/2f0iMG7 • Web design shouldn't be like a vending machine which spills coffee on the floor once electricity goes on after people have inserted lots of coins in the pause, but never stayed that long to see the result. Additionally, when someone pushes the button for coffee, they shouldn't get camera-enabled sunglasses, even when it might be quite sunny outside. • Sea inhabitants bit.ly/2fOrZAo • An interesting decreasing function bit.ly/2fq9aVY • Norm of vector and matrix bit.ly/2fwCUhA • Triangle generation bit.ly/2fwgWei. I wasn't satisfied with the speed of the intersection checks, so they have been removed. • Subdividing a medium bit.ly/2g0KJA8 • Time to completion bit.ly/2fKEddA • "Directionless" bit.ly/2emCtcH and "Magenta bubbles" bit.ly/2fAXQUM are both using ideas from geometric spirals • Conical helixes remind me of Taz bit.ly/2emhKpp • US airport locations bit.ly/2fAhxwl • "Shepherding random numbers" is a blog post demonstrating animations using randomness bit.ly/2eLYBM4 • The contours of a rusty car (and unfortunately of the grass as well) bit.ly/2fro1zC • Standard and probabilistic Hough transform bit.ly/2f6IfhC • Please, refill (on every page reload) bit.ly/2fncJKr • Negative pattern through a single loop bit.ly/2fsczjI. Can be seen in a paper by Joshi, Szeliski, Kriegman, 2008. • Heart-brain connection bit.ly/2fpHKOj • Happy bird (1.5kB) bit.ly/2eyt1RR • Bezier curves, rotated bit.ly/2fnU55G • The rail path of IC2156, departing from Erfurt bit.ly/2fpGJEq • No payment—no work. • HTML elements overview bit.ly/2eE7FjN • Curious circles bit.ly/2e4Qb3P • Tokens that choose their rings bit.ly/2fwIp3L • Circular loader bit.ly/2eYYGdt • Having public code has never been one of my goals or priorities. I prefer to have finished things that people can easily understand and use. I also don't think that writing 5000 lines of code and explaining what it does in a single blog post would make me appear more proficient on a single topic given an audience. Many people seem to be willing to create such an impression, failing to understand that the web is a platform for meaning, not an impression. When you inform someone that something is called "ergodic", is this creating meaning or impression? When you type a specific keyword, followed by a list of five people who worked in that field in the past years, continuing with another keyword and another, without ever bothering to explain any of them in detail in the way you understand them (not someone else!), is this creating meaning or impression? If you post your entire code online, without explaining what problem it is supposed to solve and for whom, without making it accesible and functional to the point that every action has its appropriate feedback, simply claiming that it works as intended, you are probably also creating an impression instead of meaning. If you are a framework creator who avoids confronting the question how many commercial products were developed with the help of that framework, you are also going after the impression and not the meaning. The next time you publish code on the web ask yourself whether this is the right medium to present your work and if it isn't what other options are available to you. In some cases your work may be of interest to a publisher and even to readers who might prefer holding a book over infinite scrolling. In other cases you may create a GitHub repository and link to it instead of bothering everyone with on-page code that is hard to digest. Or you may provide a separate download intead of sharing links to many long articles. Whatever you choose, prefer to write in a succinct, organized way around your keypoints. Don't make the web a place for code, because it is for everyone. It is much better to ensure that at least 80-90% of the people coming to your site understand you before you discuss the specifics instead of writing for the 10% (developers, scientists, etc.) to announce upfront your circle of belonging. Your visitors aren't interested whether you can use JQuery, Angular, Ember, Node or something else, but in the meaning you created through them. Writing code mainly to impress the 10% is never going to end well. • Clustering by views, comments and hearts bit.ly/2fA3E3Y • WebGL particle animation by Kenji Saito bit.ly/2eqApwo • Word cloud for "Pride and prejudice" by Jane Austen bit.ly/2f5byhv (selected words only) • Array-based filtering bit.ly/2f3hqrr • Testing the values returned from three different functions for modulo congruence bit.ly/2fqOTjW • A fast cyclist against the fastest animals in the world bit.ly/2fgpMkq • Biggest stadiums in the world bit.ly/2dPm3cJ • Edge detection with Sobel and Scharr kernels bit.ly/2dOxEIF • Alternation via the Euler's identity bit.ly/2efmPM7 • A wreath of rhombi bit.ly/2dLWHMO • Quick shape for my birthday bit.ly/2eILgoC. Two other variants bit.ly/2eJjsxC, bit.ly/2ez0jRa • A histogram of departures on the Frankfurt airport bit.ly/2eFX7Ry • Waveform, stabilized and strengthened bit.ly/2e6wRPG • Nutrients found in raw foods bit.ly/2dKAg8V • Image composed of floating regions—first variant bit.ly/2dWDg1H, second variant bit.ly/2dNhBK2 • Gaussian distribution from eight points bit.ly/2dmMpRv • Select from interval with sum bit.ly/2e3sl4D • Percentile and interquartile range bit.ly/2dLjRBC • Approximate arrival time from two measures assuming constancy in speed bit.ly/2e6unW9 • A sample time series plot: "Number of sales by year and month" bit.ly/2e6wLqO • Shape transform bit.ly/2djKux3 • Curtains bit.ly/2dJ37tC • The 1000x1000 matrix you saw previously took ≈4-5mins to generate, so I wanted to find a way to speed up the process. Slightly changing the approach and reducing the matrix size to 256x256 reduced the waiting time to ≈4 seconds. While the new matrix isn't as big bit.ly/2dIO5DZ, the individual levels can be read more easily. Zoom to see the original size. • Checkered image bit.ly/2da9aV2 • Tinting a grayscale image bit.ly/2d4XurB • A sample stacked bar chart: "Activities as a percentage of total time spent" bit.ly/2enlmXG • Attempting web animation of many objects bit.ly/2dL9Xza • Thoughts on the value of a single line of code bit.ly/2d3mijG • German cities according to their population bit.ly/2dOP2dF • A gradient-enhanced image bit.ly/2d2dfiW • Compute entropy bit.ly/2d1eQFJ • Plotting text search performance in real-time bit.ly/2dNM5fC • Transitioning from one Big Ben to another bit.ly/2dNv5pO • Almost non-intersecting line segments bit.ly/2cZdn33. The demo bit.ly/2dmIv8E. My initial idea was to try to fill the screen with approximately equal-spaced lines. • Paths between two points bit.ly/2dz7t9Z. Animated with SVG and SMIL bit.ly/2dBJWl8 or with canvas and requestAnimationFrame bit.ly/2dzJc1o. • Noisy grey background bit.ly/2cZGmP8 (1920x1080, 758kB) • The tricks of 2001 are back—floating bright red backgrounds moving with you as you scroll the pages. An attempt to close them just changes the nature of the content inside. The constantly "vibrating" buttons at the top, covering the header section, are ringing consistently in the reader's head. • Thanks for sharing your great work full of patterns bit.ly/2dhPWOu • Students and grades bit.ly/2cVOiB7 • Subtle grid pattern informs about its own self-generation bit.ly/2dLHb4b. Rotating "Pacman" bit.ly/2cTlCh0, ellipses alternating orientation bit.ly/2dV8ipk, colorful dots bit.ly/2dhB5n3, zig zagging lines bit.ly/2dO5Ks5 • "has(key, hit => {". If you are like me, you bump in a wall here, but the arrow so nicely accelerates that hit. Von wegen a cache hit. • Generate sample browser usage statistic bit.ly/2dEm81K • Butterfly wings structure bit.ly/2drbNbD • Tiny green leafs bit.ly/2dcECmp • Blending several images bit.ly/2dYp6Ps • Polynomial line fit to data points bit.ly/2cPCXSP • 1000x1000 matrix in color bit.ly/2dpdyTe • Approximating PI with the Wallis formula bit.ly/2doMjZS • A news reader bit.ly/2dEHptR. I like how quick this one is and the fact that it is as small as 5kB (eventually usable on mobile devices). If you followed this stream, you know that an older demo (bit.ly/2dnzvlE), dedicated for the same task, was possibly the slowest one on this site, consuming lots of resources and fetching data sequentially in real-time. If you have suggestions or you see some bugs, feel free to share your impressions. • Dynamic triangular flower bit.ly/2d1z0eG. It would have been nice if the animation was smoother. • Movements in 3D space bit.ly/2cGwV72 • CSS walkers bit.ly/2cFWXMt • Fixed a strange bug I observe for the first time. Placing a single letter in front of a variable containing HTML code caused it to still be recognized by the browser (as if it had the right name), but the content was rendered with strange quotation marks and commas, so it took me a while to figure out where they were coming from. In the past I saw similar effects where the most common reason was omitting the "/" character from a closing tag. • Greatest common divisor of two numbers as you type them bit.ly/2cMVoLp • A trail of dots bit.ly/2dsoy0w • Simulating a production line with pure CSS bit.ly/2daoKE9 • Transforming ovals bit.ly/2dDL2yR • Rotating cubes bit.ly/2dkRSJ8 • What happens when you play the wrong card bit.ly/2dkJjKA • Experimenting with triangles bit.ly/2cCbmJQ. Some previously generated bit.ly/2dk46BN • Hollow circles bit.ly/2dwQyAu • Covariance display bit.ly/2dcUp6A • Scroll down to hide top and bottom menus on the page. Scroll up to reveal them no matter where you are. Crushes usability if the page is hard to digest and you must repeatedly refer to sections you saw previously. By going back and forth you experience the "dancing menus". If you only scroll in a single direction, the menu stays static. Since this is likely a script that multiple websites are using, think carefully whether you want this behavior on your page. • Standing next to a tree with a nice haircut (24.09.2016) bit.ly/2dcQwjB. Beautiful place with some peacocks freely walking around. At one point one of them climbed on a wall that was perhaps ten meters above ground, so I was scared that it may fall but it stood very calm there and observed all the visitors that were coming. I also made a photo with two seemingly unimpressed swans swimming against an artificial crocodile with an open mouth. • Finding which radiuses generate circle areas in a given tolerance bit.ly/2cuIMoI • Sums of tens bit.ly/2di5NRg • Websites should not send useless messages to the browser console to indicate how they work, which tile number is being rendered or what is currently executed. Flooding consoles is spam too. • Wanted to check whether recoding an image, so that pixels with similar values are replaced with the value of the cluster center, would be beneficial for compression and if so by how much. Results on the 1920x1080 "Bucks Bunny" image were the following: original—1686kB, recoded original—1229kB, compressed original—582.80kB, compressed recoded—375.04kB. This means that merely saving the recoded image resulted in 27% size decrease. Recoding the image before compressing it further decreased the size with 35.6% compared to simply compressing the image. This means that at the end the compressed recoded image was 22% of the size of the original. I used only 150 clusters, where my original intent was to go for 256, but this was not possible due to memory limitations. For this reason some artefacts are visible. My goal was to see whether at 256 colors we would still perceive them and to what extent. Here is the compressed recoded image bit.ly/2cxaCEd. • Tried the "inspect devices" for the first time yesterday. After some configuration and port forwarding, it worked as expected. It was nice to see the two-way connection: touch-scrolling on the mobile device updated the view on the big screen and scrolling on the big screen updated the small screen as well. (Clicks and page loads worked similarly.) I saw some jank during the process, but then also the possible explanation: "the fps are divided between the two screens". There is the option to turn off the feedback on the big screen, which then makes working on the mobile device faster while somewhat reducing your flexibility. • Video: "Honda illusions" bit.ly/2cUvDWs • "Let's make a bubble map'" by Mike Bostock bit.ly/2cC9s85 contains some very beautiful maps. • Optimizing PNGs on localhost bit.ly/2d5tkRz. Only a crop of the compressed image is shown. • 9 different way to animate a bouncing ball bit.ly/2ck4n6p • Found this nice code bumps example bit.ly/2cs4Cw6 • The canvas itself can be transformed while showing an animation (second dimension) bit.ly/2c9kctg. I once had a professor, who wrote slightly diagonally on a black board while moving it top-down with a push-button. Surprising to me, the letters were always on a straight line. • Fig bit.ly/2cEZJki • Wave amplification and reduction bit.ly/2cBZRB2 • Comparison of two image thresholding methods applied on an image bit.ly/2cWR11v • Visualizing heaps bit.ly/2c5BXyJ • Map projections bit.ly/2cmvafF • Historic events example bit.ly/2c0rAas • Animation with intersecting lines bit.ly/2ctZyIK. Click on the animation to stop it. • Spinning dots ordered on a spiral-like path bit.ly/2csq5qV. Click on the animation to stop it. • Ink effect through overlapping dots bit.ly/2cjeXHS. Uses leaking pens as inspiration. • How processed food looks like bit.ly/2cjTQbV • Many-photo collage bit.ly/2bYmJeQ. It's not easy to canoe around those. • I was surprised to learn that the sum of the numbers from 0 to 1010 can be computed in 58 seconds on an ancient machine (result was 13106511847580896768). Although this is not useful in itself, it was a reminder to never assume by default that something is impossible. • Plan your food and the products needed to prepare it bit.ly/2cmetWp • Shape outside bit.ly/2cao9SC • Wrinkled surface bit.ly/2c2mmOl • US national labs bit.ly/2c1VuOp • The period of revolution seems to grow faster than the mean distance from sun bit.ly/2cwehEo (source: bit.ly/2bQLiHC) • A sample CV bit.ly/2bVIsQd • "How long do I expect to drive this car?" bit.ly/2bW9zgU • Show location on a map bit.ly/2cbPRf2 • Shapes from lines bit.ly/2bCulTP • An imperfect attempt to look at the paths followed to the final in tennis for men at the Olympic games in Rio 2016 bit.ly/2cbANOU. It seems that the larger the subtree, the farther this player has reached in the tournament (counterintuitive). Without proper hierarchy things are hard to read correctly. To see anything, you need to zoom the image. • Wanted to test Adaboost for classification. Ended comparing it vs. gradient boosting. This left me wanting larger and more useful datasets—exactly the ones I don't have. • Moving average over a set of data points bit.ly/2ccUR6i. I expected a smoother result for the red line, but this may be due to the relatively few data points and the relatively high variance. • The infinity sign created by mathematical rules of symmetry bit.ly/2bVqcKj • Gaussians with varying standard deviation bit.ly/2c0yaA2 • K-means clustering of random data with six clusters bit.ly/2bL8Uk7 • Multistep keyframe animation at object level bit.ly/2bB8wkO • Background of lines with variable width bit.ly/2bKfItS • Toothed shape bit.ly/2bWSiTJ • Arrange the tiles of an image correctly bit.ly/2bonfOf • Thinking about an interesting parallel between machine learning and software architecture. The need to make data analysis reproducible and software architecture reconstructible. If data can serve as a documentation, then the opposite might be true as well. • Pixelized style on SVG bit.ly/2bGIVpY • Emitter bit.ly/2boOqfk • Finding connected components in a friendship graph bit.ly/2bFJqSj • A cube in the dreamy style (hand-crafted SVG, 1.6kB) bit.ly/2bBGCVa. I saw this style in a presentation a couple of days ago and found it quite nice. Pastel colors going outside the shape contours. • Article: "Particle effects are easy" bit.ly/2blR6cI • All is... bit.ly/2bljwDD • Winding stripes bit.ly/2bgMHbS • Testing operations on an image bit.ly/2aZztRF • Fitting a spline to the time-series data of the project "Search for papers" bit.ly/2b3F45j • Finding which products to deliver bit.ly/2aYlXiG • Visiting the nodes of a graph (depth-first search) bit.ly/2aSezUt • CSS grid layout bit.ly/2bchvHR • Dot, inner, outer and cross product bit.ly/2bi59m3 • It would have been nice if the attempt to work with the MovieLens 20M dataset didn't produce an out-of-memory error. I guess this is why so many companies invest in infrastructure if they can afford it. • Drawing individual pixels of various colors bit.ly/2boRMh8 • Plotting ten million data points bit.ly/2bjyzgA • A visualization of how the points of various teams could evolve over time bit.ly/2aVzZPu. It could also be many other things, depending on what is needed. This is similar to what I saw a couple of days ago. It is interesting, because it packs a lot of information at every stage of the development and allows relatively easy comarisons if there aren't too many lines. • The Collatz conjecture bit.ly/2aNhGLU. Seems to work with large numbers too. Uses rounding of the float values as a trade-off. • Rotating circles to suggest a 3D object bit.ly/2aKQrS9 • A short video showing local file search within the browser bit.ly/2b6hlGv. This is meant only for personal use since allowing anyone to search within the directories on your server is a big security risk. If you aren't satisfied with the various search alternatives you have, you could always create your own file search. The more directories you have, the slower they will be traversed, but you could limit the number of options that can be chosen or provide a text field for the directory instead of the select dropdown. To load all directories three levels deep on my machine requires a data transfer of 16.9kB; the response time for this example is around 860ms. • Seems like scikit-learn has a classifier that can find all nearest neighbors in a predefined radius. I find this more intuitive to understand than other approaches. • Loading a heavy image bit.ly/2aSAUhi. In case this happens too fast, you can use connection throttling to see the effect. Requires only a few lines of code. • Tried using motion along path according to the specification, but it seems to work only in some browsers and for smooth paths. Since my path consisted mainly of many connected lines, the motion along it was very "jumpy", which was not what I wanted to see. • Showing what a file pointer reads bit.ly/2aryzca • Saw a beautiful black swan on a photo, whose body was (not so beautifully) marked with length s, height v... it almost made me cry for seeing how far programming can go. • A surface callled Whitney umbrella bit.ly/2azCPJP • Is loading this beautiful 30kB font absolutely necessary? If we create something that has enough utility and weighs only 10kB, then adding this font leads to a page of size 40kB (400% of the original). If on the other side we have a product that already weighs 600kB and we add the same font, the new size becomes 105% of the original. While the cost in the second case seems lower, nothing changes the fact, that 630kB are 15.75 times more than 40KB. Everything we add has a cost and unless we can explain clearly why we think it is necessary, we are not prepared to add this resource yet. And if someone comes to us, sees a dull page and claims that we aren't web designers, simply because our wesite doesn't rank well or doesn't look good in their eyes, it is time to examine whether letting them speak with us should be possible at all. Respect can only be given to people who respect. • Colored triangles bit.ly/2aF7EgH. What I like about this is that the triangles are quite similar, but still different. Having slightly different versions of the same is something which we usually dislike to see in our code. One of our worst nightmares is having to type thousands of values by hand, which are slightly different but not sufficiently random as to be able to be produced by a random generator. This is a very slow and time-consuming process. But as this simple shape proves, applying the same idea to graphics could make a composition look more dynamic and interesting for the observer. • Bulgaria's waterfalls bit.ly/2aAjaKM • A searchable tube map of London (7kB) bit.ly/2a5DxPW • Testing compress with various iterables bit.ly/2ahFh7K • Australia's national parks bit.ly/2agYqnm. Looks like there are many places for a good and thoughtful walk. This took a lot of adjutments of the viewBox and still isn't perfect. Probably a better map to start with could have fixed the problem, but this one was freely available. If the physical area of the parks was known, the dots could have been made of variable sizes. Another useful feature could be to let people upload photos from the parks they visited in the past. This would increase the awareness how refreshing and enriching a walk in a park can be and how it doesn't make sense to act as if we would be the last people visiting this place. It is much easier to vandalize a park than to build one. This means that we need to constantly evaluate the publicly stated reasons why parks can't or won't be built if we don't want to wake up completely disconnected from nature. • Some Deutsche Bahn railway stations bit.ly/2aIcVSi • Heat transfer between bodies in contact bit.ly/2arhyCg • Common radiation dosage rates as a simple diagram bit.ly/2anDi0F • The book "General physics" by Henry Crew has an interesting parallel between linear and angular dynamics, so I joined the two pages and removed the yellow background bit.ly/2asT8qL • A photo with some dust added bit.ly/2a2V1tk • Incremental animation bit.ly/29WcguF • Testing whether two matrices have identical values bit.ly/2agGHyu. The larger the matrices, the harder it becomes to check their values manually. • Floor average and ceil average as seen in the fxt library bit.ly/2a0ZRc9 That it is possible to find the average with the help of bit operations is quite interesting. • That a web page consisting of 423 HTTP requests and weighting 6.2MB could be served in less than a minute to the client isn't a sufficient reason to lock their machine for that long. Every time you find your machine slow, check the numbers, because they may be much higher than the norm. When that happens and you feel as if someone is trying to play 3-4 HD videos in parallel on your machine, it may be time to contact their web designer or switch to another website. • I heard the statement that you need at least a two-core CPU to watch 1080p video. While it is possible to achieve this on a laptop with the single-core, ultra-low voltage processor (SU2700, 1.3Ghz, 10W) and dedicated Intel graphics, the experience is admittedly not very smooth. But the reason for this might be that we are trying to stream the content, which is to download, compute and play, all in real-time. We could easily observe that if we play the same video five times, its content doesn't really change. So we could just download it once and eliminate the need to wait for network transfers and long buffering. This way we could play Big Bucks Bunny at 1280p with 43% of the CPU staying idle. We could also play this 4K video showing honey bees bit.ly/2a81kwF at ≈12-15fps, which is not that bad. Why is it then that JavaScript animation can run only with jank, fully exhausting the capacity of the CPU? Or to ask differently: "Where does this entire bandwidth come from given the simple objects on our screen?" One potential answer could be that we still insist on intrepreting all computations in real-time, even though our animation may not change across runs or exhibit random behavior. If the machine knew in advance how to proceed, there would be no reason why higher framerates wouldn't be achievable. Probably this is what WebAssembly will try to address. • At one of his talks, Pedro Domingos gave a beautiful explanation of probabilistic inference, but I found the slide a bit hard to read, so I decided to recreate it bit.ly/29KDTYu • Article on superslow supermemory (in German) bit.ly/2a5qdcp Representing each bit by a single atom could allow to store all existing books on an "area with the size of a post stamp". Optimizing the smallest unit has applications in practically every area of our lives and is often how very fast algorithms are created as well. On the opposite, neglecting the smallest unit often leads to all kinds of inefficiencies. • A figure from deeply nested elements with relative positioning bit.ly/29DSKro. Structures that can be recursively defined can benefit from the use of the element hierarchy. • Angle between lines bit.ly/29KFwEh • Cumulative sum and cumulative product bit.ly/29KV6Sv • Vertical stripes with patterns bit.ly/29B4Dy8 • Ease of doing business in various countries as of June 2015 bit.ly/29Gne81 • Estimated percentage of individuals using the Internet, given by country as of 2014 bit.ly/29GHEQN • Thank you for your time. • A simple poll component bit.ly/29DURKF • I had cases where I caused a spiking CPU usage or a memory leak in Apache simply by omitting a character that I should have typed in the code. When this happened, my first instinct was to try to kill the httpd process, but quite often this recreated it, so that it again gradually moved to the top of the list with most consuming processes. What worked then was restarting Apache from its control panel, but this took inconvenient 5-6 seconds (Win7) plus the time to click on the interface elements (icon and button) plus eventually the time to fix rendering issues (sometimes, when closed, the window still appeared visible). There are many cases which may prompt us to repeat this loop of actions and cumulatively it can cost us a lot of time and lost productivity. This is why some people have looked for ways to automate it. What I noticed recently is that Apache restarts from the command line in Linux are quite fast and can take less than a second. But when I saw the icon in my taskbar (Win), I assumed that clicking on it would be the most direct way to get the result I was after. Because of this affordance, I never thought that there may be a different, better way. • PHP concatenation test bit.ly/29wthBd • Fixed and centered bit.ly/29N4YhH • Argmin and argmax bit.ly/29x50bt • Looking for additional, interesting and well-paid job. If you have any offers, let me know. • To-do list, not the way I wanted to have it bit.ly/29tcBrG • Mixture of sine curves bit.ly/29oytSz • Pieces bit.ly/29oOzk7 • Triangular notifications bit.ly/29szRWQ • A mistake I have seen in most editors is to generate matching characters, immediately highlighting them with some disturbing color (glaring red or light blue), placing the cursor between them. You can imagine how hard it becomes to distinguish a black line of 1-2px width (the cursor) within what is perceived as a large block of color. The programmer might start thinking that they have lost their cursor or that they don't know in which direction they should move now. It would have been better to highlight the characters with a more subtle color only if the distance between them is bigger than some minimum distance. It is very likely that we can see which characters are matching when they are very close together, so that feedback is not really necessary. It is good to have when the characters are far apart or when jumping to the matching character is needed. Enabling the typing of pairs of characters when they are needed makes the frequent case more convenient, while the rare case where only a single character is required is easily accessible by a single keystroke (backspace). Right now, many editors still make the frequent case harder and the rare case simpler. #usability • Had a supervisor password on my BIOS, where the option to boot from the DVD drive was disabled. This effectively locked me into using Win7, since this was the OS that my machine came with. The Internet is full of stories of people having the same problem. They have described many possible approaches that vary in their degree of success. That said, after 5+ years I was finally able to find a solution for my particular case. Now that I have Linux as a stand-alone OS, I have noticed that copying files is much faster and it takes seconds instead of minutes. Playing high-quality videos is possible at lower CPU usage and higher framerates (switched from 32bit to 64bit). Some databases like MongoDB and RethinkDB, which required a 64bit OS will now be usable again. Even Blender can suddenly open the user preferences to allow theme switching (previously inaccessible possibly due to some unknown GPU driver issue). The keyboard repeat rate is so fast, that I needed to decrease it slightly. It allows to move fast through many files in a directory, which seems to be useful during FTP upload sessions where there are plently of files or directories. Not everything is perfect though and I certainly miss some of the great software I used previously (Notepad++, XYPlorer, Everything, SQLite Administrator, Foxmail, SumatraPDF). But what I have noticed is that over time I tended towards using software that was made for Linux and then was adapted for Windows. My expectation was that programs like GIMP and LibreOffice would be faster to load on a Linux machine, but even I was surprised to see how big the difference can be. • All digits made of seven lines each bit.ly/294GLDo. Initial idea was to morph them somehow from one shape to the next, but then I realized that the effort was not worth it. • Seeking which shades match well together bit.ly/29394BY • Pixel diffusion effect (for fast machines) bit.ly/2996gRl • Particle animation bit.ly/28W8O7u. Decided to use many style tags here, where this is usually a bad practice. Applying the styles inline didn't produce the results I wanted, since some of the original ones were not overwritten. A single <style> tag could have worked too, but searching with a regex inside it and replacing only part of it didn't feel quite right to me. • Möbius strip bit.ly/28YoyaP, Dini's surface bit.ly/28SfSzg and bit.ly/28SYA2J, a 3D curve bit.ly/298y8nE, limacon bit.ly/28SlvND and bit.ly/28XZfn5, Tschirnhausen curve bit.ly/290frEP, Fermat's spiral bit.ly/294aZUv, lituus bit.ly/28UElSM, Lissajous curve bit.ly/28UUQyT • GD lacks antialiasing, but can save images in WebP format bit.ly/28VbvaE • Had the idea of making a site for selling second-hand items, but degraded it to a status "template" bit.ly/28XXpVk, since I realized that I don't want to stay in the middle and be kept responsible in case someone else chooses not to fulfill their part of the obligation. As a person working for Etsy mentioned in a speech, both parties may choose not to follow on their words at every step of the transaction. • Finding the average frames-per-second (FPS) of an entire animation bit.ly/28SdEE3 • Never heard about the legend which said that Archimedes was killed by a Roman soldier as he traced mathematical figures in the sand during the siege of Syracuse. Fully devoted to his cause until the end. • Hellinger distance bit.ly/28R2ZGX • Combinations of three points on a circle having twelve possible states bit.ly/1PracZW • Two notations involving complex numbers to position points on a circle bit.ly/1YpayYb • Concentric circles of points, animated bit.ly/1UwRZvy • Animating similar shapes bit.ly/233fMt2 • Yesterday, I went through some slides on image processing by Richard Alan Peters (freely available). I wanted to share two quick ideas here that I found quite striking. For instance, we can achieve a nice depth effect on a 3D cube if we overlay two gradients — one having a light central area and one having a dark central area. Then we can selectively remove some faces of the cube to reveal its inside bit.ly/1UlaFm1. We can also sweep a plane through the diagonal of a transparent cube, gradually "filling" it with a pageant of colors, which would otherwise be part of the gradients of its faces bit.ly/1ZExilC. You can probably see why the last is still playing a loopy animation in my mind. • A case when two reflections can be equivalent to a rotation bit.ly/28qcG6t • Bilinear interpolation bit.ly/1UqxX63 • Putting items at the right place (to simulate classification) bit.ly/1teB4aO • Jump to the exit bit.ly/1TSuwL1 • Guess the word (2kB) bit.ly/283JXnQ • The dimensions of intelligence (according to theory) as an adjustable radar chart (unfinished, no longer motivating) bit.ly/20Tf0xf • Reveal an image by clicking on neighboring hexagons bit.ly/24iHW2q • Moving a point along a line bit.ly/1sJhZgu • A flower made from ellipses bit.ly/1spiTio • Recently I had a debate which kind of table would be more durable: one made of thick, tempered glass or one made of thick wood. To me glass always suggests breaking, no matter how thick it is. It breaks much more often than wood, which reduces how calm I can be at a psychological level. The table made of glass looked more shiny compared to the matt wood, so it quickly grabbed the attention. But very often beautiful things can make me restless. This is because they look perfect, but at the same time neglect other dimensions like durability, ease-of-use, purpose etc. Porcellain figures are clean and beautiful, but an internal voice constantly warns me about them. Buttons on clothes fall frequently and get lost, which then becomes very obvious to other people, indicating neglect and carelessness. Wearing such clothes would make me uneasy. Additionally, I prefer items made of less parts, having more homogenous nature. Smaller items are worrysome when I imagine a very chaotic space gradually getting filled with them. Each small item takes the same amount of mental energy to organize as finding the right place for a single, big object. Having to look at many individual items when walking around or searching for something is already depleting lots of our energy, which we still don't seem to fully realize. Every object suggests something unique to us if we find a way to tune in and listen. As designers, we must ensure that we are creating the right affordances that will evoke the right feelings and emotions. • Many websites have "popular" sections and sometimes it makes sense to combine them in order to explore the most creative ideas at a single place. Unfortunately, the data isn't free and scattered across the web. Whenever the layout of a website of interest changes, any attempt to scrape it for real-time data will stop working (and we should avoid brittle "solutions"). For this reason, I chose to provide only a simple layout to illustrate my point bit.ly/1sYk09p. • Type the word (1.7kB) bit.ly/1XZua4W • The 24 shades test bit.ly/1UmWLy3 • SVG sewing pattern bit.ly/25tTztp (thick fiber) and bit.ly/1U53kCM (thin fiber). It would have been nice to animate the movement of the fabric, but my PC wasn't up to the task, at least not with SVG. • Horizontal to vertical scroll bit.ly/1XFc5sE • Visually track time elapsed and time left when you want to set a time budget for a task bit.ly/25sBeg5. Ends with a nice sound straight from nature. • Moving multiple objects with a single keyframe animation bit.ly/20NjLs0 • Find the amount of debt after n months bit.ly/1sglF9K • A figure against a gradient from vertical stripes bit.ly/27UaKTp • Slightly hypnotic circles bit.ly/1TDudUd • Subtle pattern generated with the use of low-opacity layers bit.ly/1TD4hId • Drawing with Bezier curves bit.ly/1sRr2g9 • Varying a shape around a central line bit.ly/22ptYML. A version with more states bit.ly/1WPvFmS • Circles disappearing bit.ly/27S5uzT • Using canvas to draw a simple room plan bit.ly/1sNhRND • Knitting an edgy patch on a canvas bit.ly/1Tu5IDm • Rain + open windows to increase air flow = freshness • The "fit-predict" sequence seems to exist in photography as well. When the light is too bright, we can cover the lens by hand, press the button halfway just to focus, then remove our hand, point the camera to the subject and press the shutter down completely. This is sometimes used by photographers to get the right amount of exposure. It can be seen as a way to fit to seen data and predict on unseen subject based on what was learned. • Comparison of SVD and truncated SVD bit.ly/1YmnfRj • If you are in Varna, you could check when the next bus/tram will arrive on a regular day bit.ly/24HkUrv. This doesn't account for changes in the schedule. If you find it inaccurate or buggy, visit bit.ly/2vALFl3. This will allow you to search manually for the right cell in big 2D table of times. It's so much easier to know how many minutes are left instead of thinking whether a given point of time has already passed or not. • The six-hump camelback function bit.ly/1SUG266. The global minimum seems to occur at (x, y) = (0.08984201, -0.7126564), so that f(x, y) ≈ -1.032. • To find the distance between two points on a sphere with known latitudes and longitudes, we need to compute the Haversine distance. Surprised to see this mentioned so rarely. • Finding patches in an image bit.ly/1OhInmk • Coefficients used with trigonometric functions bit.ly/1SZZyQH • Building valid words from characters bit.ly/24jPuHm • Bit tables bit.ly/1WCsT2J • Modelling risk bit.ly/1Y2mWLl • Comparison of truncation and rounding bit.ly/1VYpHjx • The number of divisors of a large number N decomposed into p1a1p2a2p3a3...pnan, where a1, a2...an are a set of primes is said to be d(N) = (1+a1)(1+a2)(1+a3)...(1+an). This is interesting. • The concept behind the JavaScript's spread operator may have been introduced in C++ first. • A simple histogram bit.ly/1qUG1nS. I wanted it to be symbol-only, using the "―" character for the axis and the "|" character for the heights in each bin. This worked, but then I realized that the first character can be replaced with a border and the second with an element with attached class, so that the bins can be highlighted and the number of occurences shown. This was enough to increase the size from 1kB to 1.9kB. • 1754! = 1.97926e+4930; 1755! = inf, at least on my machine. • An energy meter allows you to test your energy consumption at home, which may give you some suprising results. For instance, you may find that a TV in standby can consume as much as a laptop under a normal working state. An OLED lamp can steadily consume 6.5W despite the 6W label on the packaging. A monitor announced as a 42W device can consume 21W, possibly due to setting its brightness to a lower level. Always test your assumptions by measuring. Even better, collect the data, sort it, plot it and see how you could influence the top 20% for 80% of the impact (Pareto principle). • Maximum flow through a network bit.ly/1VQAso6 • Shortest path in a graph bit.ly/26pyC0x • Effects on strawberries bit.ly/1Uchx5p • Compute the covariance matrix bit.ly/1r3vx5V • Visual inspection of some 3D-related CSS properties bit.ly/1SbAC6j • Exploring commonsense bit.ly/1VBHqwZ • Never thought of a recipe as a directed graph. Mixing the ingredients needs to follow some order and certain actions can only be executed (or make sense) when others are complete. We can draw arrows to denote how the products are mixed in the chain. If we think about our code, we'll see the same pattern. Before we have our variables and the relevant functions have returned, we can't proceed with an operation that depends on them. We can't execute things at random or in the wrong order and hope that we'll get the right result. Branching can be seen as taking one arrow and splitting it in two or more. The index of a loop is often used to define another auxiliary index, without which some further computations would be much harder to achieve. An arrow brought you here to read this as well. • Increased the maximal number of results from 100 to 120 for the papers page (it reached 60000 paper titles). For every 10000 new additions there will be 20 results more. When 100000 unique titles are reached, the plan is to show 200 results per page. Since the world is getting more complex every minute (and exponentially more papers get published), it doesn't make sense to keep the number of results constant just because science finds reasons to convince us to focus on fewer results and better relevance. This is an exploratory tool and it will support exploration, not someone's preconceived notion or recommendation algorithm of what is important and what isn't. • Visualizing visits per month bit.ly/1SM6KcR • Find the determinant of a 3x3 matrix bit.ly/1Td9KC1 • Hashing as you type bit.ly/1S0Yt8U • Switching circles on and off bit.ly/1Tb3WsH • On the 15th day of the month, a puzzle of 15 pieces (2kB) bit.ly/1T8yjQt • The disco bit.ly/1VnDBLk. "The popular demo" has shown what is possible in 3D bit.ly/23HTUEp • Showing travel paths bit.ly/1RUBYm0 • "You are not your code" is worth repeating yourself often, because everyone who treats you as a simple number or as a worthless producer in a pool of many, probably has nothing to seek within your close radius. What we choose to see within our radius is probably the most important decision we make every day. • Someone said: "There is a danger of providing too much for free." I don't think that I have reached that point, but I am constantly aware not to cross the line. Doing this will likely affect how much I can earn, which is why I am not too enthusiastic about free work. At least the things that I provide for free can be in the form that I want, whatever and whenever I want. If someone doesn't like them, they are always free to go and look elsewhere. But free work would rarely be an indicator for the quality of paid work. I still remember the confusing situation when I wanted to print my master thesis in Germany. Since I perceived thesis defence to be an important "one-time event", I wanted my written work to be perfect, so when I went to the printer I also "brought" all my requirements: how the cover should look like, how white and thick the paper should be, why the margins have to be preserved, whether a small sample of pages can be seen first and finally how much I could afford to pay. The person who examined my work spent 15 minutes to listen my blabber and then informed me what I was missing. And then I continued: "Yes I agree on this, but disagree on that..." Since other people started to appear and I was wasting their time, I was asked to leave in a not very polite way. Hearing this came shocking to me after spending months of my time working on it. After I went out I tried to reflect on what I did wrong. The important lesson that I learned was that being polite all the time is important when working with clients, but keeping the goals and the business perspective disconnected from the feelings that are brought to us is equally important. Not only to preserve our clarity of view, but also to avoid missing the opportunities we come across. The result is that since this and other events I no longer try to be polite at any cost. • If you need a web designer or developer, you need to pay and pay above average. Otherwise no work for you. • The door bit.ly/20we81W • Ripples bit.ly/25VaW42 • I remember the time when I spent almost 6 hours going through many files I was working on just to look for the reason why a mysterious number "6" was appearing on one of the pages. It turned out that for some reason in one of the files this was the first character, appearing even in front of the "<?php" opening statement, so the parser was unable to detect this mistake. It was not easy to find, so if you are having a similar problem, keep this possibility in mind. • More and more sites greet me with the message: "The media cannot be played" or something similar. Not sure why. • Clustering teams by their score bit.ly/1qcX3gJ • An attempt to animate fan opening bit.ly/23fVv7E • A slightly noisy, logarithmic spiral in HSL color bit.ly/1MgWjSa • "Achievement is the crown of effort, the diadem of thought." - James Allen in "As a man thinketh" • Grid layout bit.ly/1RA0o44 • A hinged dissection bit.ly/1VZcZ2G • Exploding text bit.ly/1UnCY47. This was an effect I first saw in Flash a long time ago. The ability to animate idividual letters instead of the entire text seemed quite powerful to me. Similarly, an object which consists from multiple vertices can be animated on a vertex level, not only on an object level. CSS transitions work on an object level (as far as I know), while SMIL can operate on a vertex level. The article "Web animation past, present, and future" by Rachel Nabors bit.ly/1Rv2mzc mentioned the new Web Animations API, but I was not able to find in it, for instance, how it will work with vertex level animation. • Time and triangles bit.ly/1RC4JFz • Observing changes in curvature at multiple function points bit.ly/1MnBe8l. It was surprising to see the numbers being so small most of the time, but this may depend on the choice of the function. In the interval from -10 to 1 ĸ is growing from a very small negative number to a small positive one. At x=1.03 it becomes highest, ĸ=0.147 and then in the interval from 1 to 10 it moves closer and closer to zero, while staying positive. • Computing limits bit.ly/1UmKsVn • If I were to read "The Illiad" again, it would probably be with a pen and a big sheet of paper, drawing arrows from one hero to another and labeling the most important interactions (e.g. "killed"). Otherwise, the names are simply too many to digest (according to the 7±2 rule) and in the middle of the book there will be the danger that we no longer remember who was who. Or we may be surprised to read that someone we thought was dead is suddenly speaking once again. This is at least what happend to me since I didn't try to keep track of the mini-stories in a more visual way. By the time I needed to read the book, I had zero knowledge of graphs or of the fact that they could describe almost anything. Perhaps someone will create such a graph one day and make it available to aid other people's understanding of this work. If you prefer to create it on the PC, you could probably use something like Gephi. • In case you enjoyed connecting dots as a kid... bit.ly/1RjeaV4 • Always wondered why D3.js has fewer implemented easing functions than many other libraries. This discriminative approach may give a partial answer bit.ly/1R9MuVU. Functions that are already very similar to others can probably be safely omitted from the implementation. This means that our code needs to be analyzed first before attempting to re-implement what's already available or seen as a well-accepted practice. • Stacking filtered images bit.ly/1PlajEF • Providing annotation when the user moves the mouse over a silhouette of a person on a photo bit.ly/1UIgyJr • Communication channels inside a fictive company bit.ly/1UnwUZ2 • An adjustable rainbow over the Brooklyn Bridge bit.ly/1RnBeY8. The code for the rainbow is 5kB, while the compressed image is 94kB, even in black and white. Now you probably see why we should use images sparingly. • Easy things have no value. On the slowest machine it shouldn't crash. • Adding to the code is far too easy when multiple people can contribute. Removing from it then can be hard, not only due to the increased complexity, but also due to the feelings everyone has attached to their own code fragments. Someone said that it is more important for programmers to remove rather than add code, which sounds shocking at first, but only makes sense when we seek simplicity and robustness. I remind myself of this whenever I see a simple bar chart that makes 24 HTTP requests in the background... • If you don't appreciate yourself, noone else is going to do it for you. • Still no job offers accepted. If you see ones starting with "I need some code to..." or having "We need someone whose thinking we can bend..." and you doubt how good this employer or company would be for you, refer them to register on the jobs page on this site. If they refuse or their offers get rejected, that's a good indication for you that you would be probably wasting your time with them. A serious person wouldn't have felt threatened to hear what other people think about their company; they would welcome the opportunity to learn and improve. Remember that you are fully responsible where you choose to apply and it has consequences for your carreer, life and eventually your retirement. You could see this as if you are betting them on your employer. Another article was written yesterday to remind us that retirement could easily become the time of regret, because very few people prepare for it. The wrong choices made early restrict your choices later, so be very careful and don't blindly trust what you hear or read. Many offers currently existing on other websites are so bad, that it would be a mistake to include them here. Still, if you are willing to apply there, feel free to do so. • Random sampling bit.ly/1TBnclS • Repeated multiplication/division by 2 bit.ly/1QKfySF • Subtracting the mean from an image bit.ly/1nCvAU0 • Factorial and Stirling's approximation of it bit.ly/1LTXVki. Approximation is often preferable to doing some computationally expensive operation, because it can be much faster even when slightly inaccurate. I continue to find interesting ways in which it is used to improve existing algorithms. When looking at the figure, note that the y-scale is logarithmic and that even though some divergence can be seen, the numbers on the right are so large that the approximation error seems quite small relative to them. • A function in two variables that I almost associate with a raindrop bit.ly/1YBiBzn • Sigmoid and tanh bit.ly/1QIWXri • Int vs. float test, nonconclusive bit.ly/1RyUPP8. Floats require more digits to store, so their careless use can significantly increase the size of a web page and make it much slower. Lately I see more and more websites suffering from float overuse, but this still doesn't get enough attention. • Finding the most common colors in a couple of images and showing where they appear bit.ly/21ZHw1G. Our eye doesn't seem to be very good at distinguishing pixels that look very similar. To us they appear to be the same, but their internal representation in terms of RGB values may vary. This variation is good for image quality, but bad for file size. If we could preserve the visual appearance by reducing the number of colors, this increased redundancy would theoretically help to achieve a better compression ratio. Here we can see where the common pixels appear on the image and ask ourselves why these regions are so small, so big or why the pixels are spread in a particular way. We can see four images with their most common colors, which appear 9370, 280, 12951 and 1105 times accordingly. The first 30 most frequent colors in each image are shown below it from top left to bottom right. Each image has a size of 800x600 pixels, containing 480000pixels, which means that even in the third image, the most common color appears in less than 2.7% of the cases. Therefore, we can expect that in the second and fourth image we will be almost unable to distinguish where these pixels appear. This shows that very often there are many pixels that appear only once or very few times despite the fact that we may see large homogenous regions in our images. • "The person they'll become" by Jason Fried bit.ly/1pbKyC7 Such a great read. This somewhat corresponds to what I watched ealier today. It said that if you try to predict employee performance upfront by ranking 100 people in the order from best to worst, and then you actually see how they performed during work and ranked them again based on that, you would have been right in your original estimation in 8 cases out of the 100 on average (based on empirical test). We only think that we know and see what we expect. • A vector field from a single HTML entity bit.ly/1p97fqB. Some of the arrows don't look very sharp, but it is nice to be able to simulate an entire vector field with just a single character that isn't even an image. We can place two balls inside of it and animate how they would behave when affected by the existing forces. I tried to make some adjustments, but was unable to make the movement of the bottom ball very realistic. • Numbeo has some interesting data on the cost of living. It would be interesting to observe in which places food is least affordable relative to monthly earnings and to brainstorm ideas how this problem can be solved or at least alleviated. The lesson from the last couple of years should still ring clear: If the most wealthy nations feel absolutely no need to care about the poorest ones, then we all may have to stare at their collective failure while seeing thousands or even millions of migrants attempting to cross borders and go to where they are. People want an explanation why they can't have a normal life at their current locations and they won't wait for any political decision or imperative order to define what is right or wrong about their behavior. Unfortunately, in the form the data is given, comparisons aren't easy to make, especially when the food prices are subject to different environments, market forces, fluctuations and given in many different currencies. But I still think that if people in Venezuela, Zimbabwe, Argentina, Haiti or elsewhere can't afford food to meet their most elementary daily needs, then this is tick-tacking problem affecting us all and this still needs to be recognized. I heard that since 1990 we've made a lot of progress on reducing or eliminating poverty worldwide. I don't know whether this is truly the case, but even if it was, I am already questioning whether this trend isn't reversing, accelerated by wars, mass destruction and spreading pessimism about the economy. But maybe someone else who is reading this will have better data, tools and techniques to find out where people are most likely to live in dire need and where resources would likely do most for them. Especially now, and especially when food prices have reached new highs, it has become irresponsible to not at least think about this. For some reason, seeking balance seems to sound very scary, but it may be a matter of a simple idea that we all learned back in school: 1 + 10 = 2 + 9 = 3 + 8 = 4 + 7 = 5 + 6 = 11. By the time we come to 5 and 6, they seem almost balanced, but 1 and 10 have to work very hard to achieve it, given they know who they are. But if we look around, we'll see that such kind of matching between strongest and weakest—with attached responsibility for each other—simply isn't happening. Why? Moreover, it bothers me deeply to see sides who never knew of or saw each other, suddenly express that they are "unable to work together", running away from the problem for as long as possible until it finds them and becomes much more visible to them. And when it finds them, one side starts discussing how emigrant's boats should be sinked, how people at the borders should be shooted, how daily quotas should be introduced, how all newcomers should be more evenly spread across the continent, how Greece can repay its debt by accepting even more people and all other thoughts characteristic for small souls. Being busy to support the convenient status quo at all cost, many people never recognized that on the other side of the fence were simply the very same ones they refused to care about for so long. I appreciate everyone who saw early that the migration wave is simply an effect of our superficial and hypocritical relationships, long-term lack of responsibility for each other and unwillingness to be part of the solution. Instead we continue to seek ways to escalate the name of the effect to something which sounds worse to the widest possible range of people to create a negative sentiment towards newcomers and to raise support for a legislation to keep them away. And since this is happening, it's probably a good time to more profoundly analyze how the cost of living is moving people away from their natural habitat and what can be done for their local communities so that they can flourish and not become more chaotic by tomorrow. • SVG demo bit.ly/1psFhpB of a shape consisting of 24 paths of 4 points each, where each point has (x,y) coordinates. This means that 192 values needed to be touched. • With some scaling issues, here is how the map looks for USA bit.ly/1Th9c0i. I adjusted the weight factor that I used for Europe previously to let more paths show through, because the mean and median statistics showed slightly different results. Note that the map doesn't include Anchorage, Alaska and Honolulu, Hawai. Also, traveling from Detroit to Pennsylvania on a straight would mean crossing a border which is likely not allowed. There were also some other things that I didn't know about USA. For instance, Jacksonville has more citizens than San Francisco, even when not by a large margin. Indianapolis is a city and not a province as I would have thought initially. Washington is the 22nd largest city and yet still a capital (at least I expected it to be in top 10). Birmingham and Kent exist both in USA and UK (getting the wrong data here resulted in outliers during visualization, but that was easy to correct). St. Peterburg is in Florida, Athens is in Georgia and Odessa is in Texas. • Some interesting paths to visit maximum number of people per kilometer traveled in Europe bit.ly/1QrjBDh. As a metric to determine the paths I used the population of the target city divided by the distance between the current one and it. I apologize for the overlap of the name of some cities that are very close together. The data about the biggest cities was taken from Wikipedia, so it must be fairly accurate. Where there is no path, means that it is less economical to travel in order to meet more people. But the fact that a city is mapped here, means that it is still among the biggest in Europe. Cities underlined in red are recommended starting points for traveling, whereas red dots stay for notable cities. I would be interested to see such maps created for other parts of the world as well. This is at least how I would travel if I wanted to meet maximal number of people per fuel-kilometer. Note that there are many more cities that are beautiful and deserve to be visited. They just may not have that many citizens. The idea for this came from a blog post mentioning the fast growth of cities in other parts of the world (especially China) and the fact that Europe is projected to have zero cities of certain size by a certain year, whereas China was expected to have 25 by then. • Looks nice, but I would like to make it a bit more interactive bit.ly/1Qu4B8E. It takes slightly longer to generate it than I am comfortable with, so I will change a parameter before making it available. The more white space is left, the faster the computation. Update: Clicking on a circle should now link to articles on IEEE Spectrum. I tried to show the titles near the circles where they belong, which was fast enough, but it wasn't possible to set the stacking order of the SVG text element with the z-index properly. This made the text appear below some circles. We could hide its content and load it in a separate element where we can have greater control. Nice to have would be to add a repulsion force to make the circles affect each other. The current state bit.ly/1LCD6K6 • Dashed border animation bit.ly/1QUjrHH • Torus bit.ly/1XWaVrh, dome bit.ly/1VOv7K9 • If we could express algebraic formulas as geometric shapes and we find some symmetry among them, we could potentially use it to compute only a single shape and then apply simple transformations to it instead of computing separately all variants in which this shape should appear. Seems like a small change, but the first should be faster than the second if we are able to observe such a pattern. Similarly, if we have continuity of some form, we may observe that another pattern repeats at some regular or irregular intervals, in which case, we could avoid recomputation by simply reusing our previous results. • Dorling cartograms bit.ly/1Qf4cXI. I saw something similar in a TED talk some time ago, but didn't knew that the idea of having nonoverlapping dots or circles subjected to some physics laws could have a special name. This makes the individual items much more distinguishable and evenly spread without raising the perception that the data follows some predefined pattern. Coupled with an interactive element, it becomes quite informative. • An interesting statistic on Python library downloads from PyPI bit.ly/1LEMDuK. Highlights quite well why I have chosen to temporarily abandon the language. If your hosting company can't update the version due to some platform dependency, and this state doesn't change in almost half a year, you learn that something is quite wrong and move on. 3.5 is nice, but unsupported. Even on RedHat's OpenShift, I saw only v3.3 available. Fortunately, PHP is always available and up-to-date. • Zooming on nice flowers is never a stable idea bit.ly/1Typv8V An option to have a smoother zoom than the browser's default would have been nice. Not sure why browser makers haven't implemented it yet. • A single screen with content aggregated from many feeds bit.ly/1mKSHvf. There are potential problems on many fronts. First, we need to avoid sending too many requests to external servers, otherwise they may stop responding. Then we need to store the data somewhere and potentially update each row of many small tables which can be slow, especially if we choose to store the articles in their original length. This may quickly hit our IO limit. Even though we need only a portion of a feed, we still need to read (or traverse) a lot of irrelevant information, which is wasteful. When a feed is not well-formed, it produces a parse error, so not all data sources will work universallly. Switching from a tree-based parser to stream based parser works only conditionally, even though it is said to be more suitable for large feeds. But this may expand the range of feeds we may be able to parse (+Atom). The nature of a stream is sequential and one potential problem with parsing many feeds is the lack of parallelism. Stoyan Stefanov has written a great article to explain how we can make requests in parallel bit.ly/1oSRsfg. Initially, I thought that threads could be useful for this, but it turns out that PHP needs to be thread-safe to support this and my version wasn't. Since parsing too many feeds is slow, we can reduce their number to keep only what we think are the most useful. To reduce the noise, we show only the last 5 items of each feed and update it every 2 hours. This should be enough for 4 updates during a regular workday, so as to not distract too much, while staying informed and current. If you find that a feed needs to be included here as well, you can suggest it. • Ovals crossing at a point, different variants bit.ly/1RN11HP. • A job list for web designers, web developers and some other positions. Check whether it can be useful to you. bit.ly/1omxb10 Here is the longer blog post bit.ly/1KV4O4g • The data has to belong to the component. If people can't simply inspect your interface element in the browser, change the data in-place (without having to open a database explorer or a separate JSON file) and immediately observe the visual changes, then it is probably not a component. A slider is a component, because changing the current value determines the position of the handle based on the min and max values. All these values are immediatly accessible and easily scriptable. But a pie chart that has been drawn through some CSS magic, has no values attached to it and breaks by the first small change applied to it, is definitely not a component. • "An image is that which presents an intellectual and emotional complex in an instant of time" — Ezra Pound • Tracking blood pressure over time should be as easy as the measurements themselves bit.ly/1SLUAFP. This screenshot bit.ly/1lWn2ql shows sample data that our bodies can produce over time. It looks almost like a composition of notes or a song of particular patterns. • Explore backgrounds bit.ly/1NmM4oP. For background generation I used this wonderful tool bit.ly/1lzh3HF. Some backgrounds may not show fullscreen. • In 3D games and demoscenes we have seen how the frames per second start to decline when an object increases its size, possibly due to getting closer to the camera. This makes animations appear inconsistent, especially when the number of antialiasing passes is increased. It was interesting to observe whether a similar slowdown can be seen with SVG and if so what the true causes for it are. Profiling could help to understand what exactly happens. Here is a demo, tested only in Chrome bit.ly/1PnZl1q. As expected painting takes a lot of time, closely followed by style recalculations and layer tree updates (if we ignore the expensive function call to dispatchOnMessage()). But that painting would become less expensive at the end, I didn't expect to see. • Large number modulo small number performance comparison bit.ly/1S0Eu9x • A breathtaking visualization of 187000+ freely accessible items in The New York Public Library on.nypl.org/1ldQhV3. I am amazed by how fast everything works once it is loaded. The time to wait for the 30MB+ page was around 30-40s, but the value provided for that is simply spectacular. A minimap on the right allows to scroll smoothly through the entire collection. Quite impressed by the amount of work that has been put into this project and the cause behind it! • Solve simple permutations bit.ly/232rpBZ • Moving lines bit.ly/1PKCdz2 • Circles moving into a Venn diagram bit.ly/1TxOUwp. The intersection of different objects is quite useful in a variety of situations in computer science. The 1kB animation should serve as a reminder of this. • Search publication titles historic development: started at 15.05.2015; 03.01.2016 - 50000 titles; 03.02.2016 - 54197 titles; 29.02.2016 - 55901 titles; 26.03.2016 - 57271; 31.03.2016 - 58540; 12.04.2016 - 59863, 18.04.2016 - 60139, 06.05.2016 - 61828, 31.05.2016 - 63224, 09.06.2016 - 64375, 22.06.2016 - 65154, 24.06.2016 - 66089, 01.07.2016 - 66705, 06.08.2016 - 60553, 15.08.2016 - 61694, 18.08.2016 - 62566, 24.08.2016 - 63074, 15.09.2016 - 63881, 25.10.2016 - 65077, 14.12.2016 - 68016. • Test bit operators on two arbitrary chosen numbers and find numeric representations bit.ly/1JhvueO. Do not use the right shift operator to enter in the New Year, because there is the stone age (2015 >> 1 = 1007)! Einen guten Rutsch ins Neue Jahr! • Sunrise and sunset times based on your location bit.ly/1OxWeKd • Now you can read the PHP manual in a PDF format if you wish so bit.ly/1J6AqmH Merry Christmas and Happy New Year! • As soon as we start using absolute links, perhaps to aggregate information from various sources for easy discovery of new content (think of getting links about all current courses from many providers on a single page), we begin to rely on the structure of external sites and every time they change, this will show through as errors on our website. We can't know in advance how and when this will happen, which can make maintenance time-consuming and costly. The more sources we get content from, the more potential points of failure we introduce. Although an idea like this seems nice, it is the technology itself that makes it indefensible. • K3DSurf can help us visualize 3D surfaces bit.ly/22gDbYV by describing them through mathematical formulas. We can quickly try out various things, see whether they produce the result we wanted and then adjust the formula if needed. For instance, if we type (log(x)*log(y)) * log(z) and press "Compute", this is the result we'll get bit.ly/1PhbJ8c. Try to experiment a bit to see what you can come up with. • LaMem - find out how memorable your images are bit.ly/1QwHyeR • XAMPP served me well for some time, but lately it has been slow to introduce changes. A manual installation has the advantage that we can choose only the technologies which we need and then have all the latest improvements. This means that we may not need things like FileZilla, MercuryServer, phpMyAdmin or some other extensions enabled by default. We can organize everything into distinct folders and make things easier to find. Since we remove the needless stuff, the server starts to respond slightly faster on each request, which can add over time. After removing XAMPP and installing the latest Apache, PHP and MySQL, I had the issue that PHP for some reason tried to load the php.ini config file of zero bytes that has been left in C:\Windows. After removing this file and changing some lines in the Apache and PHP config files, I expected everything to work, but it didn't. The problem was that PHP comes with two .ini template files, but doesn't specify php.ini directly. So we need to copy the template file we worked on and rename it to php.ini for the changes to take effect. The next time I will read file extensions more carefully. If you choose to do something similar, do not forget to backup your data first. • Rachel Andrew wrote a great article on flexbox and grid bit.ly/1P6ZtFe. I liked especially the explanation of the flex property and the way in which the order property can be used to arrange elements differently than they appear in the source order. A good source order is important for search engines, while a good visual order is important for our visitors. Rachel also demonstrates how we can create a variety of interesting layouts. • Click on a number to read a quote bit.ly/1YgJAUq • All roads lead to Rome bit.ly/1IRCOO2 • Gimp palette arrangement bit.ly/1Y9U6wR • Browser usage statistics, November 2015 bit.ly/1Qh4bUy • Staying current on new developments becomes increasingly harder as the number of channels, through which new innovations are introduced, constantly increases. But we may develop awareness for the reasons why we are actively studying new material or reducing our effort at the moment. When I imported my newsfeed in Feedly for the first time, I thought that nothing will change in the way I find interesting and useful content. But in the past few months I noticed some small unintentional changes that I didn't like. First, I have "learned" to access the service much more infrequently, somehow forgetting about it most of the time. As a result, I have learned fewer new things in the past couple of months, my thinking became more constrained and my ability to generate and implement new ideas has diminished. In retrospect, the statement "If you aren't advancing, you are declining" only makes sense. Every time I needed to sign in to use the service, I had to click on a popup to explain that I wanted to use some third-party account and then wait for all the feeds to load. This was fast enough, but my attempts to organize the content as I wanted to have it, have failed. Feedly is a very good service, but I felt a bad user of it. So I looked for alternatives to help restore my gradually fading curiosity. After spending a lot of time in research mode, I chose QuiteRSS, thinking that having the simplest thing that works is all I need. Additionally, the benefit of seeing something constantly in the taskbar makes it much more accessible in comparison with online services. The ability to create folders, place the feeds into the right ones and move everything around is another plus. At the beginning everything worked fine, until QuiteRSS started to crash frequently. My explanation was that I might have imported more feeds than it could handle, since it was in an early-stage development. The other readers I tried previously either had some quirks or ceased to exist. At the end I started to read less and relied more on fewer of the same websites every day, which was limiting. A couple of days ago I tried RSSOwl and this time I was pleasantly surprised. A potential problem with some new applications is that they don't give you "instant utility", but this time I had a list of predefined feeds to choose from, which accelerated the process of receiving news. Right now I am still adjusting and importing feeds, but the reader is stable so far. Titles and content seem to be loaded only on-demand, which is a great way to reduce resource usage. The advantage of RSS readers is that they give us a less stimulating way to stay informed about the things we find important. The content comes to us, so we don't need to go and look for it, remember which URL addresses we want to visit or click on many bookmarks in succession. This can save a lot of effort and mental energy. Even when the amount of information is so overwhelming, we can selectively choose what to read. Not all feed providers want us to have this choice, so some may be providing only the title of the feed and asking us to click on it to visit their site, but this defeats the purpose of RSS and Atom to a large extent. Another practice I noticed on some feeds is to keep advertisements instead of content. In such cases, we can simply delete the feeds that aren't providing enough value for our time. • Heavy disk utilization can also negatively impact the user experience on a website, perhaps in less predictable ways than we would wish. We see jank when the CPU is busy or browser instability when a lot of RAM is taken by the data we have loaded and the processes that the browser has initiated (plugins can also be processes). Occasionally, areas on our screen may become black during some animation or transition that could use functionality that is not supported on our current GPU or is at least not enabled in its driver. Increasing the latency of the connection or limiting its speed will make a website slower, but it may still load incrementally and relatively smoothly (except in cases when there is network congestion, the page is too heavy or the connection is too slow). Throttling the connection speed, we could approximately simulate this effect. A heavily utilized disk, however, seems to be able to block the browser's loading process entirely until some capacity is again made available to load more resources. What can happen then is that every 3-4 seconds some big chunk of the site may appear all at once, which is far from a smooth experience. Imagine that the user is copying files in the background (perhaps installing the latest version of Photoshop on an older 7200rpm disk) while the antivirus is scanning, an indexing service for the newly added files is running and a disk defragmentation service is organizing this new data as to minimize the number of disk seeks in the future. In an attempt to open a website as well, this person may be suprised to see the page appearing one chunk at a time. This has the consequence that minimizing the number of HTTP requests not only effectively reduces the combined time spent on round trips, but also the number of resources needed to be cached on initial load when the disk is already busy. I am not aware of a tool that simulates how websites behave specifically under heavy disk load, but one may already exist or be under active development. The variety of disk models with different characteristics/behaviors and the variety of tasks that may be run on them may make the implementation of such a tool hard or infeasible. • If you try to find one icon, but for a tiny millisecond believe that it is another one, will that be a design problem? bit.ly/1NieJi5 • An interactive guide of the most innovative companies, according to the Boston Consulting Group on.bcg.com/1J0QkJZ • Using WinDirStat for the first time revealed a surprising picture on my machine. I had 3 different folders with Linux code and "just-in-case" 2 zip files of versions 3.2 and 4.0. One folder was located in an upper directory where I usually wasn't looking and the two others probably differed only slightly. Another minor detail was that the PHP error log has grown silently to approx. 800MB, so it was better to remove the file instead of attempting to open it. A presentation from Crytek, where they show high-detail before/after images from Crysis 3 and share some information about it, was taking approx. 100MB, so I decided to get some visual inspiration before removing it. Two .edb files in the Windows directory were bigger than 300MB, but removing them would probably cause trouble. The map of the hard drive that WinDirStat produces is nice (and clickable), but the scan can take some time during which any clicks or attempts to resize the window can crash it. But if you can wait for the map to appear, then you can visually see which files occupy the most space in relation to others instead of trying to make sense of a collection of numbers or horizontal indicators, which are most useful for comparing only files of similar size in the sorted list. If your disk is almost full, you may want to try this software. • The business model canvas, invented by Alexander Osterwalder (downloadable on bit.ly/2vAGjpY), is meant to help startups evaluate their business models. Now you can use the same canvas online bit.ly/1SrS9EV. • A SWOT analysis template bit.ly/1ReVpFm • The probability for k successes in n trials bit.ly/1Q4vzmB • The Pearson correlation coefficient bit.ly/1NdtoYL • Without asking you, some websites play a video advertisement automatically once you arrive on a given page. Then they show you a pause button, which when clicked redirects you to the advertiser's page. Quite clever. • "The rate of increase of scientific knowledge in some field is a function of the information already known, the maximum that can be known in that field, the number of people working in the field and the amount of information transferred among workers." This is quite interesting, but the formula feels more like an approximation of reality. Nevertheless, it shows the descriptive power that models can have. • An interesting presentation by Steven Strogatz (see YouTube) demonstrates how a bridge can wobble when a large number of people walk on it in synchrony. We can imagine what could happen when thousands of visitors choose to visit our website at the same time. Stability is similarly affected, and a way to deal with that is to make it an integral part of the design—to test under heavy load before the actual product release. • "Mighty is geometry; joined with art, resistless" — attributed to Euripides • You may want to try the LightTable editor. On each save it updates the page you are currently working on without the need to refresh your browser and without the need to install extra software. It may take some time to get used to the menu structure, because it could feel less intuitive. Depending on your usage patterns, it may be stable enough for you or not. • "Complex things contain a lot of useful information, while complicated things contain a lot of useless/meaningless information." • Weber's law: There's a constant ratio between just noticeable differences in a stimulus and the magnitude of the stimulus. The more intensive the stimulus, the harder it becomes to notice a specific aspect of it and the harder we need to try to pronounce it. Although this relates to computer graphics, it is an idea that we use in web design as well. • TVs also have interfaces that require the same care as the interfaces of mobile phones and tablets. And when these interfaces are bad, we spend years trying to figure out how to play something from a laptop and watch it on a bigger screen through a wireless connection. Because the interface may be organized in a way that discourages us from trying further (requires too many buttons to be pushed, has deeply nested menus, expects a concrete sequence of pushed buttons or nothing happens). The existence of an advertised feature is not enough when it has been made inaccessible to the average person. This is a design problem that may cause many features to remain unused. When we connect to the Internet from the TV, we expect to be able to browse, not to see a message: "Buy yourself a 4K TV now" after which "Return" is the only button that works. The icons of apps that were similarly abandoned should be removed as well. We don't need 3 YouTube apps when only one of them will eventually work. Additionally, a TV may be much more expensive than a smartphone or a tablet, so it makes sense to support it longer. It's easy to drop that support 2-3 years later, remove the product from your website and replace it with the 50 new models produced meanwhile. If you want to just sell, not caring enough about support, this will come through to your clients and reduce the demand for your products accordingly. • "Hollow heaps" bit.ly/1NrjQwh • "The equation made no sense. But then Schrödinger put the square root of minus one into it and suddenly it became a wave equation instead of a heat conduction equation. And to his delight, he found that it has solutions corresponding to the quantized orbits in the Bohr model of the atom." • The internal structure of our planet bit.ly/1LE2flq • "How to create art with mathematics" bit.ly/1jsXi4o • If you are not aware that you can scroll your browser by half screen at a time, you are not alone. This is possible by pressing Space (move down) or Shift + Space (move up). This functionality is already available in many other tools as well. Another underutilized key is F6, which puts the focus on the address bar, so that you don't have to move your mouse to it repeatedly. • A 5x5 caroussel bit.ly/1OuJilK • If Jeff Bezos knew that web design has died amzn.to/1Z2CgtA, he would abandon his business. If I see correctly, someone is relying on web design here to support a message that web design is dead. That seems like a contradiction to me. • Relying on half-baked functionality today means trouble in the future. • A list of functions in some programming languages bit.ly/1MC2c8v. I started this for myself to organize what I need at a single place, but you may also find it useful. • Mosaic-like visualization of key-value pairs of data bit.ly/1KFAtjz • After going through lots of obstacles and fights to be together, Milo and Cassia needed to watch how the whole city of Pompeii is taken by a wave of lava coming from Mount Vesuvius. Knowing that they couldn't escape on their horse, they stopped and focused on the moment, just staring at each other and kissing. A referencing effect suggested that once the lava reached them, they were burned into a statue in this position. (Not sure whether a real one exists.) A hidden message was that their love has actually made them run the longest distance. "Pompeii" has a strong story with many visual effects. • Delta Goodrem - "Wings" bit.ly/1MF9xXS • Some journals that you might find interesting sooner or later bit.ly/1Kox77x. Right now the data is messy (like my bookmarks), so I apologize. Cleaning them up is never easy when they tend to multiply over time. I hope that this list can give you some interesting new ideas. • Some quick renderings bit.ly/1KZdvdz • In 2020 we may have kilometer-long articles, designed entirely to test whose crawler is better at indexing. Reading online may become impossible since we won't be able to digest a single article in a single sitting. "Getting started with..." will become a universal title used for everything. Starters are easy to manipulate and sell things to, so the goal will be to degrade as many people as possible to a starting level by any technological means. • "...and the more deeply we study it, and the more accurately we measure, the more complicated the truth becomes" — Richard Feynman • CIFAR-10 images embedded in two dimensions with t-SNE bit.ly/1K4nhYm. Full article: bit.ly/1J4nM0w. • YouTube's first 8k video: bit.ly/1g9H1yF. • Google is looking for a software engineer bit.ly/1MXbxJ5 • "Current employment is often the major obstacle to lifelong learning. Employers also need to realize that their best employees will bail on them if those employees can't stay current" — Philippe Kruchten • Many things can grow out of a book bit.ly/1Plv1Gg • The newly discovered pentagon that can cover the plane bit.ly/1ILgpw4 looks interesting. Someone is probably already implementing this according to the details given. • A small circle reacting on hover bit.ly/1J7cBuD • One scientific paper listed 5000+ contributors on 24 pages in alphabetical order. Having so many people unite their powers to approach a common goal is both hard to imagine and very inspiring. An interesting question is what is still staying in the way of seeing such large scale collaboration more often, in various different domains and with more people learning from their peers as they contribute instead of sitting on the side? How subtle is the societal cost of not pronouncing an idea for the fear of sounding foolish and how many times can we afford to pay it? • The pyramidal numbers and a small pyramid bit.ly/1MfYQJ4 • Considerations about real-time, image-stitched and screen-recorded animation bit.ly/1IykiEv • Hexagons. Optimal packing. Flying. What is it? • "What moves you. What inspires you. Make up more." - Liz Danzico. "Make-believe" seems a powerful combination. • "What is the web you want?" asked http://webwewant.org. There's no simple answer to that. I think that the web could only benefit from greater accessibility and generally making sure that in the forest of voices not a single one remains unheard. Otherwise our web won't be as diverse or inclusive as some people would like to think. Improving a technology that will be used by billions of people requires a different level of thinking, planning and extreme collaboration than a star-team of five who rushes to ship this change would be ready to admit. A potential danger is that in this way the few may find a way to break the web for the many, limit their access to content to only what they find reasonable, introduce "Internet on two speeds", treat people differently based on their geographic location or choose to shut down the entire network because of some inconvenient statement. This is not the web that would move us forward, but one that will accelerate silo-building. A web that is more concentrated on innovation and reduces chit-chat and time waste would be nice to have. But choosing to accept any email or short message online seems to be much easier than choosing to have either a meaningful conversation or none at all. Personally, if I can't decide about the last, I would prefer to have an analog conversation over a digital one every time. Avoiding advertisers and the site-wide tracking behavior. • Olympic marathon winners (1896-2012) bit.ly/1OUCGM9 • The periodic table of elements bit.ly/1KABDzE. For a more interactive and beautiful version, see David DeSandro's work bit.ly/1Djue8a or Mr Doob's work bit.ly/1IgTE2Y • "Our software is too hard and our hardware is too soft." True, when you see this on a daily basis. • "Using math to turn lo-res datasets into hi-res samples" wrd.cm/1MqSQ0u • Angular.js versions and sizes (uncompressed): 1.0.2 (480kB), 1.0.3 (485kB), 1.0.8 (509kB), 1.3.0-beta18 (848kB), 1.3.0-rc1 (884kB), 1.4.3 (1017kB). Seems an interesting direction with infinite possibilities. • "Changing A with subsequently changing B may be written as A+B and may be called resultant change. The ensemble or aggregate of displacements is a group." This definition of a group by Henri Poincare is probably one of the most accessible I have seen. In many cases it is beneficial to think in terms of a resultant change before introducing random individual changes. Having all DOM changes applied through a single resultant change is much faster than updating the user interface after each change. Any part of the DOM tree can be seen as a group and be manipulated as one. Painting a large region of pixels at once is much faster than painting it pixel by pixel. Applying 2D transformations (translation, rotation, scaling, shearing) in different order can lead to different resultant changes on the screen. A complex mathematical expression in code can be replaced with the resultant change it would lead to in order to save on extra computation per iteration. He continues: "We could regard two changes as representing the same displacement. It sometimes happens that the two groups contain operations that are entirely different as to character, and that these operations combine according to the same laws. We then say that the two groups are isomorphic." Does this sound familiar? Interfaces can be different, yet one class can implement multiple ones according to the same rules. Methods in different classes may have the same signature, but behave differently depending on the type of the current instance (polymorphism). Groups have instilled themselves permanently in web design and programming. • The browser may need a lot of time to unload a previously loaded 2MB page in the same tab. Cleaning memory is not an instant operation—it can take seconds and is almost invisible. If loading a new page takes 5sec, but unloading an old one adds additional 2sec, then at least 2/7 of the time is spent on showing nothing valuable. We just seem to not care, assuming that our sites will always be opened in an empty tab/window. But the real world doesn't work in the way we test. Some people prefer a single tab over having a dozen. In the latter case, after website A has been loaded, there will be less resources left to load B and even less to load C. It would be unrealistic to assume that the experiences on the first and last opened sites will be equally good. The cost of having one site open is transferred to the next. But a chain of 2/7th waits can make the web feel less responsive, potentially decreasing the number of visited pages overall. • Top 10 motivation killers entm.ag/1OqLLfy. If you feel demotivated or unhappy at work, it may be due to one of these reasons. In the past, points 1 and 3 have consistently affected me, but I learned to protect myself over time. No need to ask myself whether I should work for a company that doesn't bother to recognize and fix its defects. • Color the numbers bit.ly/1eZ5lDk • It's the smallest things that are amazingly expensive to deal with. • "The number of arrangements of a deck of cards is 52 factorial, which approaches the estimated number of atoms in the Milky Way galaxy". • The site is now back online after it has been hacked and its entire content was deleted. Here I'd like to thank everyone who kindly helped me to restore it to a working state. I also needed a couple of days time to reflect and just try to restore my faith in it. So I apologize if this delay was in any way inconvenient for you. • Visualizing matrix structure bit.ly/1LbqPdH • It seems that I need to pay attention to the "M" key more. Ctrl+M jumps to the matching bracket in Sublime Text and Shift+Ctrl+M opens the responsive layout view in Firefox. • Many people have mentioned before that there is no way that web design will cost 50 (bit.ly/1QRm8Ef or bit.ly/1IyGFf4) or that a logo will cost 5$(bit.ly/1JNZxrY). The sad truth today is that people who can install many WordPress sites automatedly all at once can earn more than someone who is using their head to write programs, create attractive design or be involved in building a sustainable business that will eventually break-even many years later. Today a website is expected to cost the price of a burger, where it can be paid in Bitcoins instead of real money. Everyone should know their real price, which was true in 2007 as it is in 2015. If you are asked to work for less or for free, politely decline and don't let others convince you how working for them will enhance your portfolio. Each and every client should prove that they are worthy of your time. If they dare to misuse it, ask them to seek themselves another designer. If you think that a website costs 50$, ask someone who helped to create Etsy, Twitter, Facebook or any other smaller company with a successful business model how many man-hours of effort it took. Is your client expecting from you that their site should also sell as much as possible? To have a CMS, a payment method (which you were never able to implement yourself), a contact form, great visuals and interactions, a powerful product search, a clean dashboard showing real-time analytics? "Like this" thing on site X? Why should you be ready to provide them with something for which others get paid a lot more? You don't work in a vacuum, but compete against many other people around the world that are doing the same. If you are ready to leave your profits on the table, someone else will come and take them. The consequence for you is that you will no longer be able to do what you love, but will need to start doing what you are told/instructed to do. Choose wisely the kind of person you want to become. Don't simply let clients (or even bosses) suck your motivation and make you hate yourself permanently throughout your life.
• A way to test different kernels on your own images bit.ly/1QJHgMD. Initially I wanted to have much bigger kernels, but they can become quite slow with large images. C++ can be much faster for this task, if I knew how.
• The absence of texture doesn't mean absence of design.
• Sometimes we don't need to have the smoothest possible feedback on our screen although we see a trend to move in this direction. Providing better user experience is nice, but not if this happens by wasting computational resources, which we can see often. An idea that I saw recently was to have a loader change only once every 10% during the loading process. The feedback was less smooth, but came at acceptable and predictable intervals. Background computation wasn't affected much by the need to render per-pixel updates to the foreground interface. Another interesting idea I saw was in a video lecture. The sequence of images was encoded in such a way as to introduce miniature dots (probably the result of a filter), which still allowed the viewer to see and be able to read hand-written notes on the board. But the size of the video was now smaller and it could be loaded faster. The dots also guaranteed that the original material could not be reused for purposes beyond the author's original intention. These examples show that providing the best possible experience isn't the same as providing the most clever experience.
• An introduction to graphical effects with CSS adobe.ly/1Itgnf4
• Storing duplicate strings in the database is something we all avoid. But the longer the strings become, the harder it gets to guarantee that they aren't duplicate. Checking strings manually doesn't help—our eyesight will fail us. It will also be impossible to validate everything this way. Placing all strings in a set won't help—this removes only true duplicates. Out of two long strings that are the same, only one will remain in a set. This is intuitively what we want, yet it is misleadingly safe. As soon as one of the strings contains the word "modeling" and the other one "modelling", both strings will be added to the set, even when they differ in a single character. By definition such strings are different, but this may not be what we want if we look for unique semantics. The inequality arising from comparing strings directly isn't a strong enough indicator that the new data is worth its storage space. Checking string lengths also isn't helpful—one string may have a typo at one place and the other at another place. When compared they may still have the same length. We may avoid all duplicates while allowing any number of near-duplicates, which we often forget to look for. This is especially true when we are the ones typing all the data and making all the mistakes. It is therefore important to be able to identify near-duplicates before they are inserted in the database. If I understand this correctly, a similarity measure could be helpful here. We could check how similar the new string is to all other previously inserted strings. This will involve O(n) function calls and comparisons. However, if we wanted to clean a database of already inserted near-duplicates, we would need to move through each record individually and compare it with all others after it, examining only the results within a given threshold. This could take some time with large datasets. We may also perceive two floating point numbers to be the same, but our machine may choose a different internal representation for them. This also calls for a threshold comparison, since relying on a direct one may prevent the block of the if-statement from being executed (for no obvious reason). Strange how often what appears to be a duplicate turns out to be a near-duplicate.
• A nice explanation of the Frenet frame for movements along a path bit.ly/1H226V0
• Hypocycloids rolling inside one another bit.ly/1EkQ1Gh and bit.ly/1SvPDlo
• "The purpose of data is insight." Getting a correct output from a function can be falsely satisfying, especially when this output could often resemble just a state of a complex dynamic system involving many variables and relationships. Finding individual relationships still doesn't mean that we understand well how things work. While trying to transform the data to fit our requirements we often forget of what we want to achieve through it and why exactly this type of data would help us. Storing large amounts of data (where feasible), in the hope to come back to it later to look for insights can be wasteful, especially when we collect it much faster than we can even look at a small subset of it. The nature of the insight also changes over time midst changing economic environments, perceptions and motivations. Part of what makes an insight interesting is that it is current and that noone else has it. Even if we have old time-series data, relying on the trends it suggests can lead to wrong conclusions, because it is the quality of the data that makes an insight possible. Similarly, we can say that the purpose of research are products, not merely definitions, statements or conclusions. The best type of research is usually connected with and integrated in a product. This is where the insight can "live" and "survive" the many other ideas competing against it. This is where it can be made tangible and timeless. An insight that isn't acted upon can be seen as a mere waste of data collection and analysis effort. In a sense, research is the data, product is the insight.
• "Am günstigsten ist Bulgarien." bit.ly/1zJCKLR Ziel: Den Bulgaren zu vermitteln, dass sie nichts kosten muessen wenn sie die helle deutsche Zukunft verfolgen wollen. Einen anderen Grund fuer Deutsche den hoechsten Stundenlohn zu halten, und zwar in Dollar. Erst wenn sie richtig viel Geld verlieren, nehmen sie einen ernst.
• "ES6 In Depth: Iterators and the for-of loop" mzl.la/1E2vpCC
• The Matrix.isMatrix() function in math.js fits nicely with Array.isArray() since ES5. A reminder of how our code needs to flow with the language and not disagree with it.
• Average recognition reaction time is said to be 384ms, which is quite interesting.
• Speed of computation is important not only for having more responsive UI interfaces, but also for greater flexibility in the way we write our code. A suboptimal code written in a fast language may still perform better than optimal code written in a less performant language. At a certain point, no matter how good our code is, speed may become a limiting factor. The difference is that in the first case we can improve and in the second we can't, at least not without significant effort that would be hard to justify. Even when (ideally) the difference in the speed of execution among the languages is a constant factor x, this means that suddenly, we are free to test x times more approaches and ideas in the same amount of time. This allows us to use statistics to help our code make better decisions. Do some precomputation to arrange the data in a format that would work better with our algorithm. Or use more complex structures composed of collections of objects instead of using few simple objects. Or define hundreds of functions for small tasks instead of only ten. All this would make our code more complex, but we can control that complexity to a certain extent while choosing a more flexible approach is not always an option we have, especially when having incomplete data about our world. Businesses that are fast also have more flexibility; they can postpone their decisions until they have better understanding of how good they could be.
• Video: "Fast image processing using Halide" youtu.be/3uiEyEKji0M
• An interview with Stephen Wolfram (in german) bit.ly/1OnrDyC
• "Thoughts can fuel some deadly brain cancers" n.pr/1dcO74R
• Species in pieces: A CSS gallery of animals threatened from extinction bit.ly/1yXV3ah
• Stephen Wolfram's rule30 bit.ly/1NMdXJT
• The Medic, Sniper, Engineer, Heavy and Scout bit.ly/1Cdpc5t
• We often work with data whose context is missing or not obvious. A 2D array of the form [[4,8,2],[16,5,3]] doesn't tell us that it may represent an adjancency matrix of the weights of a graph. It also doesn't tell us anything about the nature of the relationship. The 5 could mean "Sue's bus will come after 5 minutes" and the 16 could mean "Sue's phone contract ends after 16 months". There is no way for a viewer to know this. In physics we can't declare five as an answer without specifying the units and the object of interest to which they apply. But when presenting long numerical sequences, it is somehow an accepted practice to overwhelm the mind with raw numbers, leaving their meaning open to interpretation. Perhaps it is time to start programming the explanations next to the data.
• Building the latest car engine alone may not be such a good idea...
• I always felt that most conferences are quite expensive relative to the value they bring. Very often it is expected that 2-3 months of your hard work should cost 2 hours of the speaker's time. Even when the environment and the people are great, such a passing experience can't keep one excited two months later. A main message that is then forgotten may be worse than simply getting an object that is there to remind us of it. If we'll see the same people again only at the next conference, then connecting with them would be hard anyway. Conferences are good mostly for speakers who have the chance to share an exclusive message with the world and advance their carreer. But I find that discussions in nature that don't require a ticket or reservation can be more frequent, more inclusive and at least as interesting.
• Starting from today and for an unknown period of time, I will not accept euros as a legitimate currency, even if you tried to pay me so. I see no reason to sponsor the countless European millionaires when their wish is to give orders how others should spend their cents or what the best way for them could be to save from living. This is not the Europe I imagined and I will not support it. Since the euro has lost approx. 40% of its value and cheap money is now pumped into the market, I expect this tendency to accelerate. For me, this is not the definition of a stable currency, which is reason enough to abandon it. If you look to work with a web designer and you prefer transactions in euro, please look elsewhere.
• It seems that the "will-change" CSS property has changed, breaking some layouts in the process.
• Very nice animation with stars bit.ly/1Fjfrda
• Simple drag and drop bit.ly/1BERFkc
• Finding order in randomness bit.ly/1AaCIHc
• Video: "Programming and the visual arts" by Rune Madsen bit.ly/1EZzk7B
• The starting labor force thinning in Germany & USA is exactly as predicted by a very good economic article from the last year. In my country, many workers are also retiring. It remains to be seen how different regions will cope with this change. It seems that foreign workers will now suddenly need to be valued again, when they were exploited in the past and consistently treated as second class people. The effort to change the minimum wage and the rents in Germany is probably due to the realization of the large number of people who prefer to leave the country rather than stay. But it would be shameful to disallow certain people access to the market for years and then ask them to come working by the time they are needed, especially when they have already made their long-term plans. Many of the existing workers will need to be compensated higher just to prevent them from switching to a competitor. Pressure from China may also redefine future relationships and power distributions. My short message: Always know what you are worth and never sell yourself cheap.
• 1000 Chrome experiments http://1000.chromeexperiments.com
• "A cinematic journey through visual effects" bit.ly/17bdpNr
• "Where possible, move the processor to the data rather than the data to the processor" - Roy Fielding
• A nice visualization of how the research of scientists is interconnected: bit.ly/1JXFeXV
• Two articles that I enjoyed very much the last year: "Modeling the last flight of MH370 with a Markov Chain Monte Carlo Method" by Conor L. Myhrvold and "Visualizing algorithms" by Mike Bostock
• The Barnes-Hut algorithm for n-body motion: arborjs.org/docs/barnes-hut and www.contrib.andrew.cmu.edu/~sameera/demos/BNtree/
• Since I heard that maths has more than 30 different groups that deal with symmetry, I started to wonder why. Ivan Loseu from the math department of Northeastern University gives a possible explanation: "Symmetry is a transformation that preserves your problem. Some properties may not change no matter how much the whole system changes. The more symmetric a system is, the easier it is to solve."
• "Die Form dreiachsiger Ellipsoide bemerkt man oft bei Steinen in der Meeresbrandung" - David Hilbert
• The Ramer-Douglas-Peucker algorithm for reducing the number of points on a curve: en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm. The less points we have, the faster we can edit vector shapes.
• Splitting and averaging to arrive at smooth surfaces: www.youtube.com/watch?v=mX0NB9IyYpU
• Vertical timeline: codepen.io/Mestika/pen/jBlea
• A freely accessible book on data visualization with JavaScript bit.ly/1nxF3LB
• "Contract killer" by Andrew Clarke is still relevant bit.ly/1wseVnd
• NaN can't be a meaningful answer to a common operation performed by the user. If we replaced N with 4 and a with 0, NaN would speak 404.
• "Beethoven composed music he never heard, Euler was producing mathematics he couldn't see" - William Dunham
• Notepad++ lets you edit numbers "in-place". Move the cursor to the number. Press Ctrl+up/down to +/- 1. Or press Alt +up/down to +/- 0.1.
• When I cut a line of text, delete the empty line(Ctrl+L), go to another place and paste, I get an empty line in Notepad++. Interesting.
• Some programs show a tray icon when you click on minimize, others when you click on close. Not always easy to remember what to click on.
• Please, pay attention that your beautiful designs aren't destroyed by ugly ads that show only when Flash is not available.
• RFC7230-7235: The new documents about the HTTP1.1 specification
• Trying to automatically open multimedia content from within a text document when a certain scroll position is reached isn't a good practice.
• After clicking on a link,you may have sufficient time to click on another before the wrong page loads.Choice may not be slower than the web.
• "Sign in with (company names)" may be easier,but it creates a preference against others. Discriminative speak of any art has no place online."
• When using the right arrow to complete a single, non-final word of a search phrase in mind, I get the wrong page and what was typed is gone.
• Happy New Year!
• Merry Christmas! Frohe Weihnachten! Весела Коледа!
• The average web page has reached 1575 KB now. t.co/uo9rjc6h2C
• "Steve was so young and enthusiastic, this irritated these business types. They fired him then." - Hartmut Esslinger, founder of frog design
• I haven't seen content-aware image resizing on the web yet. Image segments can react differently, pixels can be omitted, realism preserved.
• Setting the same styles to different <h_> elements in the same document can lead someone to think that there are many articles.
• COSME (t.co/MA47vcVOrh) and Horizon 2020 (t.co/jK2JWzauRH)
• Interesting data on how much memory is wsted by image scaling and how long it takes to decode and resize images t.co/DR4fEH8A0o
• "Using CSS shapes to enhance visual storytelling" t.co/WRGb52sytS
• Elephants can paint with a brush held by their trunk. Computers automate painting using AI techniques t.co/JO2tg5fZXE
• Design is even in mathematical proofs. Simple, natural language explanations and minimal symbol usage can be so beautiful. Thank you!
• A site getting 58fps on 4cores w. HT can get constant 0fps on 1core. Technology can make us feel much better designers than we really are.
• When someone asks you how to send an email from their mobile device after they have written it, you feel how wrong software can be.
• "GZIP is not enough" contains some useful bits how to compress data more efficiently t.co/rWFBkhbMdw @duhroach
• Video: Beauty of mathematics" t.co/ac1iXWSBHX
• NIST carbon nanotube chips go ballooning for climate science t.co/g5TgLTCOje
• On flies and turtles t.co/fHS2niSLM1
• Facebook plans to have a city t.co/htWMAmGUte
• Scientists discover the reason we need sleep t.co/dVbE0ADwCn
• @ColinMeTierney Here is what I saw: t.co/jFaJbqmTGR. Point 5 looked interesting :)
• Hand lettering examples t.co/9iBcdTZ15j (via @smashingmag) @ColinMeTierney
• Tom and David Kelley wrote a new book on creativity that looks interesting t.co/dx1QMGXZ0N
• "Good FAQs aren't written, they are grown is a nice reminder. But documentation size can overpower the reader's investment in the task.
• "The mobile playbook" has a great look, smooth horizontal page transitions and nice column snapping to screen edges t.co/HojjMq79nN
• "The ultimate object of design is form" - Christopher Alexander. Design can be iron particles in a magnetic field that form a pattern.
• How to multiply using the Russian Peasant Method t.co/y6DjyaRvhW
• Nice to know about trihalomethane particles in our water... t.co/bn0YCzlnli
• Custom animated checkbox inputs using CSS and iconfonts t.co/4yyQdadv8s
• Nikita Vasilyev's focus transitions for smooth switching between UI elements t.co/Vo71gCFESN
• "Born" - a beautiful typeface by Carlos de Toro t.co/tqBU0n4snN
• I hope that the new work on CSS blending won't lead to seeing only HDR images online. More CSS for less shooting sounds tempting.
• "How to be productive - an infographic by Anna Vital t.co/QrpNfGqnQA
• "Human-computer interaction is understood as a triad of user, task and tool." - Jens Wandmacher, 1993
• A cohesive Raspberry Pi package built at the University of Southampton t.co/gaHEbhqXlu
• "Every molecule methane acts 25x stronger and every molecule nitrous oxide 100x stronger than a molecule of carbon dioxide." #climatechange
• Panoramio - photos of the world t.co/p7W4zTbA96
• I often forget to resize sites with long lines of text for easier scanning. Having many mobile viewports on the desktop is a step to win3.1.
• G-WAN - web application server t.co/6ZP3mRQdNS
• ProCSSor - advanced CSS prettifier t.co/aPLkYSD8oe
• How much life is in my creation? Is it useful, whole and coherent? Do I feel more alive in its presence? - Christopher Alexander (via @rjs)
• Original web layouts t.co/empivuxYBb
• The largest EU library is now in Birmingham, central UK. Great that people from a wide radius can use it, without travelling too much.
• Boats can now tweet when they arrive. The Internet of things is approaching.
• One idea. One minute. One voice. t.co/uSDPeElGBW
• Behind the scenes of how the Tesla Model S is made t.co/EpUsJy9ZwM
• To scroll down, you can use the Space key, to scroll up - Shift + Space. So far, I was only aware of PgUp and PgDn.
• The Butchart gardens t.co/zO0LReQT5d
• Tessel - a JavaScript programmable micro-controller board t.co/gJ3tLP6KKU
• Gov.uk design principles t.co/2uRabdEKhi
• Top 50 best free fonts t.co/9qsnGm3c6U is a great collection
• 80+ essential web design tools for the web developers in 2013 t.co/pi37Z8MlMg
• Iconfinder - an icon search engine and marketplace t.co/TtTfOr8ZRB
• "Many news organizations have much more JavaScript than news", says @raydaly. I hope not for random injection purposes.
• Sandy fixing is а sensitive topic, but rising water levels should not be taken lightly. Ask scientists and act now.
• And today I've read that CNBC cited a report where it says that the rising water levels can flood coastal areas and cost 1trillion until 2050.
• "Large areas of USA will be under water" I thought "Yeah, sure". But then 2 of the 4 predictions happened. Sandy storm partially backed N3.
• IBM scientists show blueprints for brain-like computing t.co/gYeilI7dqk
• "1 hour of video/week on a mob. device consumes annually more electricity in the remote networks than two new refrigerators use in a year."
• "Why aren’t there more designer founders?" t.co/Q5jmsZZNTq
• "Color changing spirograph" by Hugo Darby-Brown t.co/AvMKLewNGR
• "10000 year clock: Power and winder testing" t.co/5DqJfIwWTF
• "Objectified": Jonathan Ive t.co/42iHpJjeDH
• Back to normal. I suspect a prolonged power outage.
• My domain is not responding. The site of the hosting company is down too. No reply to any emails. Lesson learned.
• Through reaching my article limit I understood there was an article limit.
• RT @Forbes: How much does a website cost? t.co/amSMJUBww8
• Ghostlab - Synchronized testing software for browser and mobile t.co/8wPGKfOAlu @ghostlabapp
• If you want to organize your content with nested numbering, this is now possible with CSS only. t.co/KlVqpuZV2Q
• "Install Flash player". I won't be tired to click "No" at every site and browser that shows me this message.
• RT @99u: "Far and away the best prize that life has to offer is the chance to work hard at work worth doing." — Theodore Roosevelt
• A way to combine the contenteditable attribute with KendoUI for more functional editing, invoked on demand t.co/NHhC9S73AU
• "There's also beauty in the smaller dimensions" - Richard Feynman
• Mattson Creative is looking for a senior graphic designer t.co/nLTu57tvEk
• Jakob Nielsen on tablet usability t.co/mQm1rMfxTi
• Many great portfolios here t.co/KyETau5vEF
• "Make a website in minutes Why not in a second? That would be at least 60 times faster..."
• Nanoprinting technique enables high energy density supercapacitors t.co/P3tIT3BDku @IEEESpectrum
• Tiff is a type diff tool that visually contrasts the differences between two fonts t.co/9vI2o2AQXI
• Why good storytelling helps you design great products t.co/mZEFPeF2of
• Find out your viewport size t.co/jxI9z4DGBT
• Loadtime breakdown is a bookmarklet that shows visually part of the information provided by the Navigation Timing API t.co/H0XJY2cG23
• 80% decline in interest in the search term "web design" over the last nine years t.co/UwPArL1qog
• Research shows that bees contribute €14.2 billion per annum to the EU economy, says @richardbranson. But the value of life is priceless.
• An infographic of the ranking factors Google considers in search engine optimization t.co/JxmfTZTr3O
• Fount helps you identify any web font a site uses without to search in the CSS t.co/QFGtYJyCRd
• The Responsinator simulates how a website looks on some mobile devices t.co/lCV5Gwmv9i
• TED talk: "Anatomy of a New Yorker cartoon" by Bob Mankoff t.co/6vwVzr4s4q
• You could argue that the original intention of design is the betterment of society. - Karim Rashid
• "Kern and burn: Conversations with design entrepreneurs" t.co/doeVXNhpSg
• - Tell me one insight into painting.
- Shadows are the colors of the sky.
via @bencasnocha
• "Innovation almost never fails due to a lack of creativity. It's almost always because of a lack of discipline." t.co/oiqyRiaZUx
• Tomorrow: t.co/1Xe58Yfx2S Tim Clark said on @insidepg that purpose follows the development of interests and competencies around them.
• Maniac mosquitos seek fresh flesh.
• The UI and websites look larger than usual on Firefox 22, which needs a fix that doesn't require hacks and add-ons. Human retinas first :)
• Bert Appward's field guide to web applications t.co/WHPAVGJNuf
• Logos in pure CSS t.co/SHvkAmfgQG @bchANx
• Subway Cento - short visual poems made from New York subway ads t.co/SxeSWNEGV2 @jackcheng
• Tim Cook keeps photos of Robert F. Kennedy and Martin L. King in his office. He says that they moved the world in a major way.
• "Light breaks up to cloak gaps in time" t.co/ejGDGLE89U
• @elliebalk Great work! I liked the combination of art with precise measurement in environmental context. And how this can change lives. :)
• Bookshelf designs t.co/W8erAGecOD
• Visualizing data in a Brooklyn school: Ellie Balk & Nate Affield at Gel 2013 t.co/AIAtAE4vZe
• The Windows8 packaging design for Microsoft t.co/i9XEqKmeXZ
• "Already some 40% of the world's farmland is seriously degraded. Nature takes 500 years to replace 25mm of lost soil." t.co/AgKBmPBMEO
• Wow, you are so proud that your company violated the law that you say so publicly. Where the world is going...
• Great websites will rarely be cheap if they are going to be part of the 10% signal. It's expensive to create cheap for both designer&client.
• Presentation: "Death to bullshit" by Brad Frost t.co/DDXJUQhSeH A serious problem that already starts to make the web useless.
• "What are you using?" t.co/NydQNR1Jgm
• "I never have to worry about schedules. Some new thing is always exploding in me, and it schedules me, I don't schedule it." - Ray Bradbury
• Google visual assets guidelines: t.co/gPldC3N9ch & t.co/eMYZ4SZz1x
• Christian Heilmann explains how he created a paint game with JavaScript and canvas t.co/WULTTZzPEL @codepo8
• "A tour through the visualization zoo" t.co/oK982EYjr3
• "Graphene is the strongest material in the world even when it has defects, research finds" t.co/UrOxDWQkYM
• "It's as important for me to be there as with record holders and Olympians. These are the people we're serving." - Mark Parker, Nike CEO
• The Smashing Magazine 2013 Photo Contest t.co/bjr07BxfIn
• Even the most beautiful photography portfolio needs a properly working "Back button. Otherwise the visitor will be kicked out every time."
• "I went to the woods, because I wished to live deliberately" - Henry David Thoreau
• Another set of great UI icons t.co/nTryAWcJ1q
• Some ideas on creativity t.co/Ecs5JW3p9i
• I wouldn't try to disable text selection on a site through JavaScript. The default behavior is there for a reason.
• "The tech community should educate itself on global issues" - Cennydd Bowles in "On changing the world"
• That Android is being pulled in many directions is probably correct, but its hard to expect both unified experience and choice.
• Caterina Fake's speech from NCWIT is stunning t.co/XSUna0Ty1o
• Load a website in 30 seconds, then load the battery in 30 seconds. If only websites could load batteries... t.co/tzHSEDfEud
• Software should be able to represent the people who will use it, independent of their culture/geography. Important idea by @harper
• Dates help us see how new "The new science of..." really is. But too often they are missing. In 5 years everything will appear new.
• Insights from the 99U conference t.co/tf6MraL3LB
• "Best collection of pixel icons for web and UI design t.co/fbvvxvy5jV
• "Every block of stone has a statue inside it and it is the task of the sculptor to discover it." - Michelangelo
• Video: "The art of data visualization" t.co/VAmwSmgaJX @PBS
• "We cannot teach people anything, we can only help them discover it within themselves" - Galileo Galilei (via @frogmut)
• "Is there a future for design in the UK?" t.co/5G4iQwuFN9 @Design_Week
• I have removed Flash for performance reasons and what I see now is that many sites don't offer any fallback for their videos. O-oh.
• This impressive JavaScript animation t.co/zTvv4Mri6q shows what is possible in 1KB. For a more vivid start of the week :)
• Content presented in uncommon angles invites head readjustment and we want to prevent injuries.
• "The teams that traveled to meet each other succeeded better than the teams that didn't - in every single case." t.co/2LQ85dV3ge
• A lot of design podcasts here t.co/2zTJiVGMVl
• Google Summer of Code 2013: t.co/lHXX6drMTi
• A general-purpose" programming language, which can't be directly included in a web page, doesn't have all purposes covered.
• Is there a difference between how fast a selector matches and how fast the browser paints the result?
• "Combinations of CSS properties can have a greater paint time than the sum of their parts"
• 10 inspiring TED talks for creative professionals: t.co/OSe1tkvAmI
• "Perfection is a low standard" t.co/ZoEDrHJLig. When we are impatient for results, it's easy to say this. It wasn't low for Steve Jobs.
• A portfolio of work by illustrator Abi Daker: t.co/D0ng8QvHgL
• What a great idea is to create a special bottle, so that no ketchup rests would stick to it. t.co/gU0hKPNp4i No longer "try harder".
• Nice to know that you can take sharp photos of Saturn while being among the flowers in your backyard t.co/Ha80TXLVTj
• "To define is also to limit" - Kenneth Cukier
• "Exploded Flowers" by Fong Qi Wei: t.co/Pv4Uk5DHhW
• Visual Bookshelf and Google Reader closed. Amazon bought Goodreads. Others bought blogs. Who will try to speak with our voice tomorrow?
• "Single element, pure CSS Macbook Pro": t.co/Pr07SFHF6r
• "Works that work - a magazine of unexpected creativity t.co/E9z0kXcOo4
• Hand-drawn letters by Sean McCabe t.co/KIOBLRb7j5
• "Creativity doesn't work on the principle of efficiency" - Bruce Nussbaum t.co/jnXs3xhQhf
• Just loaded a single blog page that is 33788KB heavy. Beats everything I've seen so far.
• Film: "Connecting" t.co/ohHkwK7Y3q
• "It's very important that designers prepare themselves for every possible opportunity that could occur when showing our work" -Debbie Millman"
• "The 30 best places to be If you love books" t.co/yQrTa2ue0U
• My Yahoo mail was hacked today.
• "The KJ-technique: A group process for establishing priorities" t.co/BtQ0IKPh
• "What HTTP2.0 will do for you" t.co/ND8Lu3Q9
• "Art isn't for anything. Art is the ultimate goal. It saves our souls and makes us live happily" - Young-ha Kim t.co/64YwrRUT
• Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2012–2017 t.co/5xuvgrSa
• "Visiting a web page doesn't give a license to do automatic tests on the user's browser, potentially locking the machine."
• I don't know what a file labeled "humans" might be for.
• "HAML is to HTML what SASS is to CSS" Some kind of cure I guess.
• "The Million-Core Problem: Stanford researchers break a supercomputing barrier. t.co/F5j6z52n
• Diagrams must illustrate the previous text, not make me wonder where I am. Random and illogical placement disturbs the reader's flow.
• Great and successful New Year!
• Seems like Christmas survived the end of the world. Merry Christmas everyone! :)
• Thank you @CHIP_online and Franzis Verlag GmbH for making browsing and using fonts so much easier!
• Cultural analytics on the 287-megapixel HIPerSpace wall at Calit2: t.co/uyDAiWvN
• "stateless interaction"... There's such an elegance in that phrase. Almost as effortless interaction."
• WebGL water simulation t.co/GigG6Osr
• Slowly going through this year's articles on 24ways. t.co/ltOe345Z
• "The HTML5 is ready app contest" t.co/bTjBz793
• "The decline of nations" t.co/VBWq0Gir
• @midhunsss I wasn't aware of that page. Thank you! And excuse my late answer...
• Live happily t.co/FxyoxtvG
• I think Firefox 17 is faster when switching between the first and the n-th tab. Thanks to the people who improved that experience.
• Image: "Smoking kills" t.co/4n5uqtZK
• Photoshop isn't a tool for the effects that are missing in CSS. I'm shocked to read this.
• The anatomy of a web designer t.co/ZQJkVHyE
• Creative Entrepreneurship: A Conversation with Kickstarter Cofounder Yancey Strickler t.co/iYIKsUbP
• Amazing 3D art tricks the eye t.co/UDqCJMMN
• "The patent, used as a sword t.co/kECmRZPt
• "Wolfram Alpha is about 15 million lines of code" - Stephen Wolfram
• TED talk: "Entrepreneurship education: an oxymoron?" by Emer Dooley t.co/iy8NFoFa
• We don't know what we miss. Open Wikipedia in Firefox and Shift+Alt+X your way. X-citing!
• Just tested cwebp. One 1764kB JPEG photo (1920x1080) compressed to 178kB WebP with almost no visible decrease in quality.
• A 48-page document isn't a good JavaScript candidate. t.co/wxwUGate @davos
• Assembly 2012 live stream t.co/HrLZOuHh #asms12
• HD video: "Paris in motion" t.co/7NiaxQAA
• Bruce Mau on design t.co/lvTtAVVk
• In sports, even the last ms counts, if the training should make sense. In web design, a ms isn't enough to win, but we still have to cut it.
• Evolutionary leap 500 million years ago gives insight into cancer and diabetes t.co/EfZSm4od
• RT @Inspire_Us "Do what you can, with what you have, where you are." - Theodore Roosevelt
• The Zeigarnik effect: People remember uncomplete or interrupted tasks better than completed ones
• "27% of Bulgarian households live below the poverty line of 205 lev/person. To cover basic costs, a person needs 547 lev/month(273euro)."
• Photoshop CS6 will have more than 4,5 million lines of code and a 62% increase in feature changes over CS5 t.co/6TzJ98Hy
• "Innovation is what America has always been about - Barack Obama
• Steve Jobs in a five-star hotel: "It's a piece of shit." Have a great start of the day! :)"
• @cameronmoll very touching and a reminder to never take anything for granted
• Top 50 Innovation Tweeters of 2012 t.co/vy7EolH6
• "While job creation is important, there is much greater need for employee creation" - Aaron Hurst
• RT @chrisspooner Old School Cassette Player with HTML5 Audio t.co/N67PgVEa
• Seth Godin's article "Strategy matters more than ever" t.co/Vc6wzgGa
• The Small Giants Community list of books on entrepreneurship t.co/GHWGRaYE
• Great interview on why design matters t.co/bl2HYpaB with @yvesbehar @artypapers @tfadell @doreenl
• If there is truly a war for talent in Europe, then I'm missing it. Every talent needs resources to develop that go beyond survival thinking.
• People expect apps to start soon after activation. The 20sec init-update, disabling the interface, not asking the user, kills usability.
• Good comparison of NoSQL databases t.co/LMIuc2ZU
• Thunderbird now integrates with Facebook and Twitter chats, keeping all communication in one place.
• Stephen R. Covey left us today, but will be remembered for long. R.I.P. t.co/HwgGXGCj
• The article "Most web design agencies suck" has some great points t.co/VBoSVf8G @andybudd
• I wouldn't use a font with thin, condensed, all caps, 1:3 width:height letters and 2:1 height:line height in a narrow sidebar.
• "Do you suffer from decision fatigue?" t.co/iFNnUOZS
• "Interactive infographic: "The evolution of the web" t.co/WKhhLsOp
• "Code is material: Why designers must learn to code" t.co/QWNEkKhs @jkolko
• "User experience is strategy, not design" t.co/jjZi6D4U @peterme
• If I press Esc while loading a site, the process stops. When I do the same on an app that shows "Loading..., I expect it to work similarly.
• Maybe I should leave Bulgaria too, as I don't like the direction it is going. Only that finding a job at another place is an art now.
• Short film: "Proteigon" t.co/0yxd8hys
• CSS was never more misused than today. Finding new uses for it or adding new properties won't make it better. Where's its initial elegance?
• "Designing data" t.co/jFVgYWSq
• "If you want to innovate, you have to design" - Marty Neumeier
• "Sofia Design Week 2012: A Preview t.co/dhkE7Y4A
• "Steve Jobs wore the same thing every day, because he didn't want to think about what he was wearing" - Larry Ellison, Oracle"
• I did not experience the earthquake today (5.8 Richter), but I hope that everyone is fine. #PrayForBulgaria
• "Management is getting people together to figure out how to transform inputs into outputs" - Clayton Christensen
• ZURB's manifesto t.co/TGnX6OyA
• "Good design is a reality!" - Dieter Rams
• Diagram: "How to change a habit" by Charles Duhigg t.co/a6bXWoOJ
• "...all Netflix streaming peak on Saturday night can fit inside a single fiber optic, which is the size of one human hair" - Reed Hastings
• Key takeaways from the 99% conference on making ideas happen t.co/U2omFLUE
• The data journalism handbook looks interesting t.co/GTkcHzOc
• TEDxSummit Intro: "The power of x" t.co/FeD6VQIo
• "We never cease to stand like curious children before the great mystery into which we were born" - Albert Einstein
• The real leadership lessons of Steve Jobs t.co/bpGv2nJd
• Slides from the presentation "A pixel is not a pixel" by Peter-Paul Koch t.co/wrmpx5vk @ppk
• Strange editorial reviews of a book in Amazon, powered by on-page CSS t.co/lg9cQo0N
• "Good design brings to everything clarity, beauty and strength. Good design moves hearts and minds and mountains." - John McWade @JohnMcWade
• "Speed is the enemy of depth, subtlety, attention to detail, reflection, learning and rich relationships" - Tony Schwartz. Well said.
• OpenIDEO Challenge: "How might we support web entrepreneurs in launching and growing sustainable global businesses?" t.co/LFudrVJS
• Studio Kluif's publications t.co/zHYNLDHM
• "Where there is no gift, there is no art."
• "Inspiration could be called inhaling the memory of an act never experienced."
• An interview with Jonathan Ive–the designer behind Apple's products t.co/wEjAM9os
• Why Nike is a tech company t.co/Xd0gEMmO
• Where was that phone book? t.co/DnvZTtWy
• The invisible Mercedes: t.co/wSjSdrnK
• A Jobs Manifesto for Young Europe (and the Rest of the World): t.co/zXoB7ZnY
• "This is a sign of common awareness" - Irina Bokova, Director General of UNESCO
• "Five countries in Latin America, through which the path of the Incas goes, made a joint application to register it as a World Heritage."
• The web was born out of recession. Nice reminder.
• Baba Marta t.co/FuK69eq7
• Try to first spin your monitor 3 times on 360 degrees, before calling flexible ("responsive") web design "the future".
• Graphics are scalable (SVG), websites are "responsive". Nice way to rebrand a past concept in an attempt to define the future.
• "Not giving up on something too early is the best thing you could do" – Sarah Foelske of Bruce Mau Design t.co/Zv7dVN4N
• "Set a list of names" by John McWade: t.co/L1rin6dh
• "Six circles: An experience design framework" - a free ebook by James Kelway t.co/SIEueKZy
• Qwiki blends search with multimedia in a nice way. t.co/7QO0jImp
• "In hard times, collaboration is more beneficial than competition."
• Address bars also need to be with an adjustable height. Right now, they are wide, but not high enough. Smaller than tabs and hard to focus.
• Hiding address bars on mobile browsers is understandable, but as the screen size grows, the disadvantages of that decision become apparent.
• Are graphic designers ruining the web? t.co/NT488MxY
• The ten most innovative web companies of 2012: t.co/gL1HuxTD
• Amazing libraries around the world: t.co/oBvsZnFB
• TED Talk: Taking imagination seriously" by Janet Echelman t.co/8rCfH0xB
• @tannerc Great article. Thanks for sharing.
• ...and the keyboard shortcuts are a nice touch :)
• "Ah, new Twitter. Looks good, tight, organized. Congratulations to the designers!"
• Similar to JSLint, there is CSSLint too: t.co/QnzfgKU4
• Google PageSpeed is available as a service: t.co/PORMxpfu
• Predictions have no value.
• Knowledge is everything.
• @jeff_haden Bulgarians or any other citizens can never be a synonym for unhappiness. It walks around the globe. t.co/Dpzh8wfZ
• Happy New Year and may all your wishes come true in 2012!
• Merry Christmas with lots of jingles! :)
• "The nature of our motivation determines the character of our work" - Dalai Lama
• Portrait of design studio HORT for ARTE creative: t.co/0Wvoh7Yr
• "The kaleidoscope mind: Some easy ways to teach creativity": t.co/qlLZwTqF
• "Great design is all the work you don't ask people who use your product to do." - Rebekah Cox, Quora
• "Service design: Practical access to an evolving field" is an interesting publication by Stefan Moritz: t.co/K3cPcFCT
• Illustration, design and art direction by Brian Rea: t.co/s0GTNzwi
• "The myths of the overworked creative - a presentation by Tony Schwartz: t.co/XOKXjcfk
• CHIP has some gifts in December: t.co/UJSM3qXl. Click on your current date to find out more. (knowing German helps)
• Another woman has died today while bearing a child, which is the third case within less than a month. Speaking of high mortality rate.
• Selected works by "Heerim Architects & Planners": t.co/hSJZtttJ
• The Fukushima kitchen plate with built-in radioactive meter: t.co/g5CsNWwz
• "The web already embodies some of the characteristics that are notably absent from our organizations" - Gary Hamel. Interesting perspective.
• DreamWorks wants to animate the web, according to the CEO Jeffrey Katzenberg.
• "Our design work tends to be very thoughtful and carefully considered" - Kevin Sharon, creative director at Happy Cog @kevinsharon
• "The average train speed in Bulgaria is 44km/h; the average Tour de France speed is around 40km/h. If the rail goes bankrupt, we'll bike."
• HBR Ideacast: "What successful people do differently" t.co/Z9Rh7Sj2
• Get more done by understanding task type: t.co/kJVo6Bg3
• Iron sculptures by Andrew T. Crawford: t.co/kTB22RQ9
• "Designing media" by Bill Moggridge: t.co/Lf2fHT21
• "Why the next Steve Jobs will be Asian": t.co/ezzZyiBK
• "Thanks to Jeremy Keith, we can now read the book "HTML5 for web designers" on the web too: t.co/eWdd9sna @adactio
• The blog of the Liquid agency: t.co/QrfaNKye. Some nice logos they've made: t.co/5gdkLcQW.
• Beautiful photos of long exposed paths: t.co/TCbv69CU
• Kevin Kelly with an avalanche of interesting random thoughts in his talk "Possibilities": t.co/wjMs04f4
• Sara Lerner interviews Dan Mall on responsive web design: t.co/etsTSY8C @SaraLerner @danielmall
• "Steve Jobs didn't succeed in spite of his failures, he succeeded because of them." - The Huffington Post
• Nice screenshots of Instapaper 4: t.co/SWvJKen1
• If you could use 3 words to describe web design today, which one will you choose?
• Strong wind outside. A tree became alive and seems to dislike windows.
• RT @zeldman Help Amit defeat leukemia. t.co/G7rzr3vj
• RIP Steve Jobs
• "Ten principles for good design" by Dieter Rams: t.co/C7Wo2LJE
• "Spin" by Andromeda Software Development: t.co/NRCo01qV
• "Passing the kitchen table test: t.co/MF2d0afo. I found only the first paragraph valuable, but how.
• "What’s Your Start-up’s 'Bus Count'? 7 Myths of Entrepreneurship and Programming": t.co/l2xlkD29 @pivotallabs @tferriss
• Help bring clean water to people in Ethiopia: t.co/I7RCf8iq
• "Thoughts on Paul Rand" by John Maeda: t.co/suxSNds
• "CSS: Taking control of the cascade": t.co/SSHWvYE
• FF6 was open for a couple of days and today it showed 605MB memory usage in the task manager. CPU average was around 25%. Restart fixed it.
• "Today I read about the NERICA rice(t.co/LL4NZsd), aeroponics and "in vitro foods(t.co/Hw3Q99Y), but disliked the last.
• "Why governments don’t get startups" by Steve Blank claims that different startup types shouldn't be treated equally: t.co/oM98PRH
• "Transmedia design for the 3 screens" by Jakob Nielsen explains why PCs will remain important in the mobile era: t.co/jhqXSVa
• The Zen Coding plugin can save you some time with writing repetitive HTML: t.co/PoVtdpM
• Michael Smethurst shows some design decisions behind the great BBC site: t.co/IcUrA1W @fantasticlife
• Interview with Ferran Adrià - the chef of the restaurant "ElBulli", which is regularly ranked the world's best: t.co/wWJnypI
• "Introduction to Design Studio methodology": t.co/GH4dQHS @uxmag
• "Why software is eating the world" by Marc Andreesen: t.co/oNfXzoo
• "Visual Design is not a thing" by Mark Boulton: t.co/co94Dce. I have my own reasons to think otherwise.
• "The world is but a canvas to the imagination" - Henry David Thoreau
• if ( status === 1223 ) { status = 204; } could have been more descriptive. Semantic HTML without semantic code also doesn't feel right.
• Presentation: "Rethinking the Mobile Web" t.co/1hBMRXF
• "The book of speed by Stoyan Stefanov: t.co/JXqzquS
• "World Development Indicators 2011" is a great data-driven, highly-informative publication for everyone: t.co/2DbQukB
• The designer's guide to taking back your profession: t.co/al4ljez @andyrutledge
• SIGGRAPH 2011 Computer Animation Festival Video Preview: t.co/k1rSUXs
• Failed States Index 2011: t.co/zvFGnAP
• The HBR article "Why American Management Rules the World" is worth a read: t.co/OEts4tK
• Storing half a million books: t.co/2TnBNdL
• Aelita Andre - four year-old girl from Australia, already compared with Picasso: bit.ly/k6fUZO. Exhibition: 25June, Agora Gallery, NY.
• Global cities of the future - an interactive map: bit.ly/gAQL8Y
• Schema.org - a joint project of Google, Bing and Yahoo for using metadata on the web to improve search engine results: bit.ly/lO754b
• Some very beautiful photos of birds: bit.ly/lLb9N4. I love birds.
• @tannerc Great article! Many people were discouraged at a certain point in life. But that shouldn't be a reason to give up on their dreams.
• Comparison of layout engines: bit.ly/fDLo4. It seems that this page was created for browser makers, not for the general public.
• If you invent a pen that never stops writing and has no changeable parts, I'd be happy to buy one.
• Video interview with the designer Eike König: bit.ly/fgR21k
• Video: "Designing for Big Data by Jeffrey Veen: bit.ly/TKsUI @veen
• After the WebM video format, Google invented the WebP image format as more efficient alternative to JPEG: bit.ly/9eyD1w @thinkvitamin
• Some alarming stats: 32% of the bulgarian children and 22% of high school students don't read. Only 7% of all bulgarians read daily.
• "It's the day of the bulgarian education and culture, and slavonic literature. bit.ly/keQKQY Even Google changed their logo :)"
• "Users have extraordinarily inadequate research skills when it comes to solving problems on the Web" - Jakob Nielsen
• @cameronmoll What about "ubiquitous web"? (as ubiqiotous computing was defined bit.ly/gbKyq)
• Nice sketches of the talks at the 99% Conference: bit.ly/iY2uHH @ImageThink
• Interesting videos by designguide.tv: bit.ly/lAkBGF
• Portfolio of Cameron McEfee, new media designer: bit.ly/9Hjtpl
• Presentation: Dan Roam at GoogleTalks bit.ly/j11Qyq
• Portfolio of Maria Fischer, visual communication: bit.ly/hevU9o
• "Don DeLillo covers by Noma Bar": bit.ly/ghfQ3Z triggered the "wow" moment. Thanks to @vpieters for sharing! Have a great Easter! :)
• Nick Stakenburg - web developer & illustrator bit.ly/xjvd @staaky
• "The most important thing with your creativity is that you honour it" - Lady Gaga
• "403 Forbidden: The server understood the request, but is refusing to fulfill it." I'll be surprised otherwise.
• "Twitter is barely usable for me. Getting errors 403, stylesheets can't load even after F5. I was redirected once to a user "Session(login)."
• Visual aid for finding where ARIA landmark roles belong in the HTML: bit.ly/eryW8o
• "We have to grasp not only the know-how but also the know-why" - Shigeo Shingo
• Study: "Start-up Rate at 15-Year High": bit.ly/gue5wR
• Sitepoint podcast: Web Design Business with Peter Williams" bit.ly/e8H7DW @rexster
• Youtube Video: "Black Beetle bit.ly/gyLYl6
• Jason Fried talking on design with sketches by Dave Gray: bit.ly/hdrTeG @jasonfried @davegray
• Interesting background effects on the site "Nike better world": bit.ly/fqqf9I via @markboulton
• Presentation: "Achieving Your Dreams" by Gurbaksh Chahal: bit.ly/euDIk0
• "If the news are right, Google and Facebook compete for the acquisition of Twitter. Lets see if the bird can get out of that cage."
• Article: "How the world's most powerful visualization lab turns hard data into scientific cinema": bit.ly/fifyNJ
• The new HTML5 logo: bit.ly/gdJMr8. Should we hang it on the wall as a reminder with CSS no-repeat or better with repeat? :)
• Not very "social" so far this year, but still alive :)"
• Happy and unforgettable New Year with lots of smiles! :)
• Merry Christmas! :) bit.ly/4TLWu6
• Firefox 4 is said to support hardware acceleration. But a test is already available: bit.ly/9flHxt
• Writing on XHTML5 seems easy after the flop of XHTML2. bit.ly/bLQQ8O. Why are we still divided in two camps in 2010?
• Opera 11 final is available. Looks and feels good.
• Creating a portrait effect in Illustrator/Photoshop - a tutorial by Jose-Paulo Reis: bit.ly/ghGYBO
• Absolute Kreative - art direction, graphic design, illustration: bit.ly/aRlWyl
• RT @zeldman - Big Web Show Episode 30 featuring @jasonsantamaria: 5by5.tv/live
• "Good designers understand and are attentive to what users need and want to accomplish" - Douglas Bowman, stopdesign
• 24ways will have great new content in December: bit.ly/eZX5Sl
• Dribble - Designers show what they are working on: bit.ly/89CMPq
• Interactive tour of the White House: bit.ly/dk1zS3
• The Adobe Museum of Digital Media: bit.ly/aEmrnm
• If you are in Sofia on 6-7.11.10, you may want to visit the CG and web seminar: bit.ly/bM9qIq
• Samantha Cliffe Photography: bit.ly/bl47tc @samkabam
• Coolvibe - digital art and inspiration: bit.ly/66oqke
• SH graphic design: bit.ly/5Gt6yw
• Exhibitions at the Museum of Modern Art, New York: bit.ly/14GNOL @MuseumModernArt
• A free ebook Focus: A simplicity manifesto in the age of distraction" bit.ly/9QGRoP @zen_habits
• Article: "The UX Design Education Scam" bit.ly/9jYnll. As a student,I can't disagree more. Studying gives direction, not habits @jkosoy
• The blog of Humantific: bit.ly/duPEQn
• I feel blessed to have an access to a library I could have only dreamed about. Now reading "The back of the napkin": amzn.to/aQoOJN
• The AListApart 2010 Web Design Survey: bit.ly/bPpDWX
• The 11th international computer graphics conference: bit.ly/2UPfsh is now also added to Lanyrd.
• Blue Flavor were bought by Blink Interactive. Blink design library: bit.ly/kff6u
• W3C says HTML5 isn't ready for the web: bit.ly/bz1hVj
• If you also think that written texts aren't straightforward enough, join this Facebook page: on.fb.me/a1tIkS
• Can you recommend any good web design conferences in Germany?
• VC backup is meaningless. If you aren't prepared to die today, you'll die tomorrow. With or without someone else's help.
• Bidsketch - proposal software for designers: bit.ly/1KVgJu @Bidsketch
• Seth Godin on the business of software: bit.ly/amHLcX
• Timetable of the International PHP Conference 2010 / WebTech Conference 2010: bit.ly/94Mo9q
• Vincent Laforet's reel 2010: bit.ly/axPzb8
• Photos of the working environment of the consulting agency YNNO: bit.ly/9yxQEk
• Corbis images - royalty-free stock photos and illustration: bit.ly/cJYldT
• Type 1char on the Google's homepage to see unexpected behaviour that shifts your search entry form showing the results. Non-sense homepage!
• IDEO’s Fred Dust speaks about how people can think and act like designers: bit.ly/9EKbrj
• Today I visited the the red dot design museum. Many creative products, standing out in an old building with rusty machines. 4 floors. INSPRD.
• MSLK Design website work: bit.ly/b19rsk
• Hagopian Ink's interactive work: bit.ly/aI3ULe
• Jordan Jelev - wine labels design: bit.ly/3Zj2Hm
• Netdiver Mag - an online magazine on design and ditigal culture: bit.ly/SVgUX
• Lanyrd has a great list of upcoming conferences all over the world. One look and you know what's happening. bit.ly/8XpojM @lanyrd
• Pefo Studio - photography by Petia Vasileva: bit.ly/9GHoFD
• I'm going to be in Essen, Germany for the next three months. If you are there too, let me know.
• Web portfolio of "The design firm": bit.ly/dkCWAv
• "The book of Inspiration: vol. 2" is now available: bit.ly/aHz6od
• Stockholm design lab projects: bit.ly/dAqoBr
• Videos from the Gel conference 2010: bit.ly/pVxJU @gelconf
• SeagullsFly website: bit.ly/tWwAb
• "Pure austrian design" is about finding the ultimate austrian design: bit.ly/aNRigy
• Designboom: bit.ly/RqR60
• A column by Jakob Nielsen - "Should You Copy a Famous Site's Design?": bit.ly/aKxoVh
• The "Design basics index" book is said to be a good read: amzn.to/dfRjzz
• Kind company's portfolio: bit.ly/GWdf6
• Engage Interactive's work: bit.ly/13Srjl. They have an interesting giraffe there: bit.ly/zu3TI
• Filament group's book Designing with Progressive Enhancement": bit.ly/bKh6SR
• Good overview of the upcoming IE9 browser capabilities: bit.ly/9LzfnO
• The work of the interactive art director Tom Kershaw: bit.ly/crel2m @toomuchcyan
• The work of the web designers of Orangebus: bit.ly/cDUvij @orangebus
• I like the subtlety in the presentational look of the Likemind website: bit.ly/98uI9O ...and especially their logo.
• Portfolio of the web designer/front-end developer Jeroen Homan: bit.ly/9WLBPi
• Vesess - web design and application development: bit.ly/aHnZAE
• Viktor Mazhlekov's artwork: bit.ly/ci7Gfw
• The artwork of Radim Malinic continues to amaze me: bit.ly/PSovp @brand_nu
• Portfolio of 365monkeys - creative design studio: bit.ly/a4ecPk
• A long, but eye-opening presentation on the internals of how browsers render web pages: bit.ly/9oQA8L
• Videos from "Velocity 2010" - a web performance and operations conference: bit.ly/cAoIgg
• The "Raving rabbids" artwork is impressive: bit.ly/cYEdak
• Core77's photos of many design events this year: bit.ly/jVqQw
• "Why design contests are bad" by Donald Norman: bit.ly/dqU6yd. Essence: "We should have contests, but we should do them properly."
• The 1kB JavaScript demo contest: bit.ly/cGvsvg See what's possible: bit.ly/dc3Nrr #js1k
• Beautiful colorful logo designs: bit.ly/bar5CU @zeldman
• Episodes of "The Big Web Show": bit.ly/dAifvi
• The userability podcast: bit.ly/J5Wa
• @bobulate Is there a list of books - for instance on writing - you would "highly recommend"?
• "Sketching user experiences: Getting the design right and the right design" might be a great book: amzn.to/ck7C
• Great article at A List Apart - "No One Nos: Learning to Say No to Bad Ideas" bit.ly/ddzt1H @alistapart
• Have a great new week! :)
• "Presentation is just as important as the taste of the food in a restaurant. It's all about the experience." - Donald Norman @jnd1er
• "Don't make a killer app, make a killer user" - Kathy Sierra
• HTML5 browser capability test: bit.ly/bjddtO
• The Opera website has a great redesign: bit.ly/MoDt
• The Bloodhound SuperSonic Car aims for 1000mph and relies on Intel Atom CPUs: bit.ly/cSgKyb
• Sitepoint's podcasts: bit.ly/f3JeT @sitepointdotcom
• A contest for web applications that are smaller than 10K: bit.ly/cjQiMa
• "Thoughts on designing for iPad" by Derek Powazek: bit.ly/cKmXBC
• Ideacodes projects list: bit.ly/bMnqP3 @ideacodes
• Filippo Valente - graphic designer and information architect: bit.ly/cRWCXo
• Common logo design mistakes: bit.ly/HslbX @prestondlee
• "Bacardi - Islands of Mojito" by Ars Thanea: bit.ly/9gD4WO
• I'm finally back online
• CL!CK - An international photography competition about our changing world: bit.ly/aszDzc
• Interactive graphic of the german Bundestag and its deputies: bit.ly/dBpwPe
• The digital and interactive media contest, EUROPRIX Multimedia Awards, is now open for registration: bit.ly/9gmG4M
• "HTML5 for web designers" by Jeremy Keith is the first ""A book apart" book: bit.ly/a0k3Fr @abookapart
• Exceptionally presented handmade products: http://www.etsy.com. In my opinion, the site with the best look&feel on the web. @Etsy
• Yesterdays entrepreneurial meeting, organized by Empower United, was great.
• New Blog Post: "Main ideas of one entrepreneurial meeting" bit.ly/bXDLpc
• New Blog Post: "Less work for less money?" bit.ly/9bwwNg
• Typographic tree sculptures: bit.ly/KvWX5 @CreativeReview
• Enjoying galleries at http://www.seen.by @seenby_DE
• New Blog Post: "Screen space waste" bit.ly/bWyrBo
• @chrbutler I'm also planning to read the autobiography of Benjamin Franklin. Is it worth the read?
• Dossier - graphic design studio: bit.ly/48dOC2
• Logo trends 2010: bit.ly/wrgii
• RT @brainpicker Forms In Paper – gorgeous paper sculptures by Richard Sweeney bit.ly/2uqQt5
• New Blog Post: "Websites and culture bit.ly/aA3y31
• The beautiful design work of Jessica Hische: bit.ly/5QsWSo @jessicahische
• The book "Lettering & Type": bit.ly/17ioD7
• The graphic design museum in Breda, Netherlands: bit.ly/Pa1c2 @grdesignmuseum
• Overview of the 99% conference(15-16.04.10), held at the Times Center, New York City: bit.ly/6zh8DS @the99percent
• "Making Ideas Happen: Overcoming the Obstacles Between Vision and Reality": amzn.to/8ZBOP4 is a great read according to @swissmiss
• Shturmann car navigation system interface by Art Lebedev: bit.ly/9lDQgh
• "Designing for social interaction" - an article by Paul Adams, senior UX researcher at Google: bit.ly/ak6BNT
• Poster design showcase: bit.ly/cT0aLq
• Go further, faster. Photoshop CS5 is already available: bit.ly/WkH6R
• "The new CS5 branding" bit.ly/9FyOQp @vpieters
• I stopped tweeting, because of a bad PC. But I still update Facebook with some thoughts, which are mostly not web and visual design related.
• I adore the way "Rework" by 37signals is written. An excerpt: bit.ly/bUOD3L
• Themes for a good infographic: bit.ly/cJwKVc
• New Blog Post: "Missing functionality" bit.ly/9reryB
• Digital Product Strategy and Design by Luke Wroblewski: bit.ly/g1heK
• "Eight design tips for the web" by John McWade of Before&After Magazine: bit.ly/9nsfg7 @JohnMcWade
• Thirty conversations on design: bit.ly/FFbaq
• Free chapters of "Speak human" - a book by Eric Karjaluoto: bit.ly/dulEdw
• Laura Ries on branding campaign effects of many well-known companies: bit.ly/b7sBOo @lauraries
• "Ten reasons to be working for good" by Jeff Klein: bit.ly/c1DEYy @babajeff
• MetaLab design: bit.ly/9T15Z
• The Art Browser - Full list of artists by movement: bit.ly/aKyoGw
• An amazing advertisement of "Tostitos" - "And Then There Was Salsa": bit.ly/aAo4bH
• New Blog Post: "Accessible please" bit.ly/d52A6Q
• New Blog Post: The 'feels like' concept" bit.ly/aWKk45
• "Speak Visual" by NVIDIA: bit.ly/u6ou
• Twitter reached 50 million messages/day.
• The work of Shane Seminole Mielke: bit.ly/32C7tm
• How to create a web application from scratch: bit.ly/6cfPjv
• Huffduffer - a good collection of podcasts: bit.ly/WBym3
• JPG Magazine - over 200 000 photographers share their work: bit.ly/gpmQb
• Chris Sharp's design portfolio: bit.ly/eyggc @csharpdesign
• Happy Valentine's Day!
• Superplexus tests your skills to put a small ball through a huge 3D labyrinth: bit.ly/d5Mjad
• Con10uum - a proposal for a new way of desktop computer interaction: bit.ly/H2Vj1
• Ryan Singer on the 37signals design process: bit.ly/c5YALA
• Jonathan Snook's tips, tricks and bookmarks on web development: bit.ly/CcZuR
• Andy Clarke's "Walls Come Tumbling Down" - a beautiful presentation on web design: bit.ly/7en0SC
• Art in my coffee - a collection of foamy awesomeness: bit.ly/4sVeY2
• Scott Boms on burnout while working for the web: bit.ly/BBP5
• Canon 7D video capabilities exploration by Simon Cudby: bit.ly/OWdoo
• Yaron Schoen - web & application design: bit.ly/77Cmwz
• "Only good work leads to more good work" - Michael Bierut
• @RoomtoRead Congratulations for the impressive result! That are the things that matter.
• Sean Martell - illustrations, iconography, brands, websites, photography: bit.ly/9wtYxl
• New Blog Post: Reuse of successful concepts" bit.ly/9q22k9
• Atkins architecture design studio projects: bit.ly/cmXWSm
• Jason Santa Maria recommends design related books: bit.ly/98aBvA
• Nakai photography: bit.ly/akASLf
• A tour of the MindBloom application for personal growth: bit.ly/o8CL3
• I love the work of Cameron Moll. Here is a sneak of his project "Colosseo: bit.ly/95j7Eu @cameronmoll
• Matt Mullenweg's advice on public speaking: bit.ly/5jZ2bH
• Dirceu Viega's painting technique uses coffee instead of ink to paint: bit.ly/1FJiPS
• Parkour motion reel video: bit.ly/71ECIc
• Marian Bantjes designed the cover of the book "Transparent Things": bit.ly/7A4TbG
• TED2010 is in two weeks. Theme: "What the world needs now...". Speakers: bit.ly/5vKNW2. Can't wait! :)
• Visualisation Magazine looks interesting: bit.ly/aFtAF
• Vincent Laforet's "First Look" video: bit.ly/WQTp
• The outstanding Parish Kohanim photography portfolio: bit.ly/5SkTQh
• Firebug 1.5 is already available.
• New Blog Post: "The 'immediate' culture" bit.ly/6oglqO
• A couple of exams in January... I wish, I could skip this part.
• Happy New Year 2010! :)
• "@jasonfried Different points of view simply change us. Skills can be developed, but they are just a small part of the ocean. Change is sure.
• HTML5 tag reference: bit.ly/1yriWj if you need to see the whole picture
• This is truly great! Bonnier Beta Lab's research project - A future vision for digital magazines: bit.ly/90Lycm
• 44 Ways to Kick-Start Your New Year: bit.ly/5LmXJe and promise that you'll kick strong :)
• New Blog Post: "Thoughts on 2009" bit.ly/8UPkDV
• Merry Christmas and Happy New Year! :)
• Opera 10.5 pre-alpha is quite speedy. There are also two problems though: high memory usage and quite high CPU utilization by using Flash.
• "Going West" by Maurice Gee bit.ly/k0lQE is an interesting story :)
• Chatman Design - Print, Web and More: bit.ly/5LPIKz
• Very good introduction to HTML5 by Brad Neuberg: bit.ly/7rAAa
• HTML 5 demos by Remy Sharp: bit.ly/sVoPY @rem
• Free eBooks: Adobe Photoshop CS3 und Photoshop Elements 7 (written in german) bit.ly/7Jglz2
• SitePoint's Advent Calendar, One Über Cool Deal Every Day: bit.ly/3xdNuO
• RT @seanHodge Learn to Create a Financial Crisis, Vector Illustration ow.ly/LPm0
• New Blog Post: "The roller coaster effect" bit.ly/4Anvm2
• Victoria's Secret Christmas 2009 commercial, directed by Michael Bay: bit.ly/59jgTc
• Free eBook: "Don’t Just Roll The Dice - A usefully short guide to software pricing bit.ly/nodice @NeilDavidson
• How do you develop your skills? bit.ly/5nkHz0 @WebWorkerDaily
• Top 10 failures of 2009: bit.ly/6TTmjg
• Best viral video of 2009: The Twilight Saga - New Moon Trailer bit.ly/4aSC9
• New Blog Post: "Radiotracker's UI" bit.ly/7CtzbY
• A peek at Internet Explorer 9: bit.ly/3SpNvW
• .net Awards web agency of the year is Clearleft, chosen by around fifty great judges :) bit.ly/8DATVX @clearleft
• New Blog Post: "The global economy" bit.ly/88QLnZ
• National Geographic's International Photography Contest: bit.ly/6byclQ
• RT @visualthinkmap Yulia Brodskaya's Illustrations: bit.ly/6lX1uj
• Tino Graß - Visuelle Kommunikation bit.ly/5xYXcs
• JJ.Ying's Skin & Icon Design: bit.ly/4Mz9oF
• The Blog of the SlideShare creator - Rashmi: "Why I removed Google toolbar" bit.ly/5zURE4
• "Visual Design for the Non-Designer" bit.ly/T3bQ7
• RT @DavidSadigh: 10 Web trends to watch in 2010 bit.ly/65MPz6
• Oblo didactic puzzle :) bit.ly/5BK1Zu
• Highcharts - Interactive JavaScript Charts: bit.ly/7yJJIo
• 24ways is "working" again :) Every day new web design articles: bit.ly/CN6l
• Some Events '09/10: bit.ly/8nBFcj
• New Blog Post: "Models and documentation" bit.ly/8wCKyt
• Toxiclibs showreel '09: Ways to visualize data www.vimeo.com/6644720
• Web Designer Notebook is a great resource: bit.ly/3HPrir
• Preparing for exam on saturday...
• World Luxury Award Winners '09: bit.ly/2y6Y8M
• SCA Packaging Design Challenge '09: bit.ly/2C55LB
• New Blog Post: Switching senses bit.ly/3hDkHy
• Interviews with interesting people: http://usesthis.com
• Interesting presentations on usability in web design: bit.ly/29ou5x
• New Blog Post: "SEO or CEO" bit.ly/2qVXNC
• Demoscene: "Antidote for the masses" by ASD bit.ly/oK5aH
• Enjoying Notion Digital flash animations: bit.ly/3IpCiI
• Integrating prototyping into your design process: bit.ly/WTd1W
• The website of the freelancer Emilie Guelpa: http://onthesly.fr
• Very beautiful: Individual hand felted and hand crafted items by Leigh Hicks bit.ly/1QSywI
• @cameronmoll I agree totally with "Do whatever works for you".
• Tracie Valentino's portfolio: bit.ly/1zNLF7 @traciedesigns
• Phishing attacks on the web are also as pandemic as the swine flu is in reality.
• Today I was impressed by the animations "Cinematique" by Maxime Causeret (http://www.teresuac.fr) and "5 times" by Simeon Sokerov.
• Many websites don't provide a link delete account".They violate our freedom to choose.Fear of user loss,leads to user loss.Fear interferes.
• Interesting first day at Computer Space. Alan Rosenfeld's presentation about convergence of media was mind-blowing.
• The concept behind http://cgart.bg is great, but lets see how much time they'll need to implement it.
• Just found "Thirty Conversations on Design". Plenty of things to listen to. @pentagramdesign
• "A couple Google Wave experiences" by Michael Surtees: bit.ly/2dQ9H5
• Some time ago I found the value-to-noise ratio of Boagworld podcasts very low. That may have changed though: bit.ly/bsSoo
• The site where I look first for everything "How-To": bit.ly/CuF
• New Blog Post: "Tag soup - 5$" bit.ly/caOBz • Photoshop for iPhone is free and was already downloaded over a million times at the Apple's App Store. • ambientdefocus photography: bit.ly/1jRuoZ • SXSW Podcasts 2007-2009: bit.ly/1A2XgJ, bit.ly/2VcNRF & bit.ly/Md7 • Netcraft - in August'09 the total number of websites fell with 15 millions. More: bit.ly/10Ly2o. We are still below the max number. • New Blog Post: "Yahoo Mail Classic interface changes" bit.ly/3aI5LW • Performance comparison of Web Browsers by Jacob Gube/SixRevisions: bit.ly/1YcHqm • Firefox 3.6 recognizes screen orientation: bit.ly/4nnmoQ • Jason Little: "Some people will tell you creativity is part of your make-up. That you can't learn it. I disagree." More: bit.ly/AZVZi • "Selected" contains selection of completed graphic design projects from Europe: bit.ly/155pGu • 24.11.2009 - Announcement date of the Red Dot Design Award winners (among a record number of contest entries). More: http://www.red-dot.de • Lene Nystrøm - We wanna party bit.ly/3ua3Ht • Typographic illustrations in Photoshop: 10 awesome tutorials: bit.ly/7tWuA • 10 Elements of Highly Effective Articles: bit.ly/tKfzM • 15 amazing sandwich creations: bit.ly/A56Yo • 100 Design-Related Blog Posts With Lists of 100 Things: bit.ly/PTMw • New blog posts: "Depencencies rule our lives" bit.ly/3JBpvx, "Blog advertisement trend" bit.ly/gmzR4 • Look at Albert Morell's work bit.ly/14L5uB and his blog bit.ly/1H3GBk • Thinking about ways to reduce spam... • RT @LovelyPackage: Pentawards'09 Winners: bit.ly/42gN8l • Demo of BumpTop's multi-touch interaction capabilities: bit.ly/RWv96 • Camera recording, Image convertion to B&W, Real-time mirror rotation toward light. Daniel Rozin's wooden mirrors: bit.ly/z86R5 • WAVE - a good web accessibility evaluation tool: http://wave.webaim.org • "Getting real" by 37signals can be read online for free: bit.ly/1nudnR • Branding books for the creative designer: ow.ly/rdCf. I've read "The 22 immutable laws of branding" and I can only recommend it. • #dd09 Question at Artemii Lebedev: ""Which was the biggest product challenge at ArtLebedev for the past years, and how did you cope with it?" • New Blog Post: "The power of symbols" bit.ly/153s4k • I wasn't aware of the tool SpriteMe by Steve Souders, which combines images into sprites to minimize HTTP requests: http://spriteme.org • Apparently,IE is the only browser,which can react on exactly three mouse buttons pressed. I bet this is reserved for some high-prioritiness. • "Design Thinking for Real Results" bit.ly/44X9Pw is about brainstorming and innovation • I came to Turner Duckworth's portfolio bit.ly/4aqBs through an article about David Butler, a designer at Coke bit.ly/2WpRYS. • #smlayout "Structure, Code & rendering consistence, Simplicity, Unambiguity, Device Independence, Small size, One file, No hacks, Valid" • I'm quite impressed with this logo portfolio: bit.ly/jbjSi • Just learned about the faboluous upcomming event DesignDay'09: bit.ly/wi2Of • Some free DesignDay'09 posters: bit.ly/17IwDX • I want it! :) The Book of Inspiration bit.ly/1KOEtL • "Steve Jobs asks himself one question every single day: "If today were the last day of my life, would I want to do, what I'm about to do today?" • Designers on Twitter: http://inkpill.com • New Blog Post: "Review of the Singularity website" bit.ly/t8de0 • Lightbox v2 is using both Prototype and Scriptaculous libraries, which weight almost 150kB. It's heavy, not light. • Stopdesign has a very well organized portfolio: bit.ly/89HwT • Hex codes of all web-safe colors and their preview: bit.ly/jPmJ • The website design process for the hotel Felix Zawojski: bit.ly/o0o4E Made by ArtLebedev. • RT @behoff 50 Top Design Studios from each of the 50 States ow.ly/q24h • 4-7May'10 - 15th conference on animation,effects,games and int. media. Trailer'09 bit.ly/3bNKQY & brochure'09 bit.ly/3vglg1 • Portfolio of Brian Hoff, a graphic designer from Philadelphia: tinyurl.com/n9gamv • "Quantum" demo scene: tinyurl.com/qed7qp • Styropor coffee cup designs: tinyurl.com/ktkhn8 • Front-End Design Conference 2009 videos: tinyurl.com/ln4u3s • Design Agency CreativePeople http://cpeople.ru • "Identity, web, print & flash design for a beautiful world" http://www.ilyan.com • RT @jeresig JQuery Conference 2009 talks: j.mp/M3Wcs • Looking at content on http://www.hillmancurtis.com • Articles by Robert Hoekman, Jr, user experience specialist tinyurl.com/r7xyhr @rhjr • Screen reader for iPhone? Nice. tinyurl.com/qajrne • Looking at "A touch from heaven photography": http://www.touchheavenco.com • New blog post: "Guides and grids" tinyurl.com/nq5bqs • CHIP claims that the new Midori browser performs better than Chrome, Firefox, etc. At least on my machine, page rendering is slower. • Finally a cure to a well-know problem - testing websites in multiple Internet Explorer versions. Try IETester tinyurl.com/33oh6q • Rading about "Flash of Unstyled content" (FOUC) bug on IE6. • Interesting artsy "pop-up" book: tinyurl.com/mt4hcj • Nice collaborative painting gallery: tinyurl.com/myyltt • RT @digital_arts New motion graphics reel from Portuguese designer/director Filipe Carvalho: bit.ly/ZvKUs • Right now, I am impressed by the portfolio of Sassy Works: http://www.sassyworks.com • Downloading Ars Thanea's new movie clip: bit.ly/DhMTk (89MB) • Sitepoint's book giveaway: "The principles of successful freelancing" www.sitepoint.com/books (expires after 10 days) • A beautiful bookstore in Sao Paolo, Brazil: tinyurl.com/mozvl9 • Very nice! Stefan Kantchev's logos: http://stefankanchev.com/ • How to improve your Photoshop skills in 9 seconds: tinyurl.com/lfww3k @davecross • Interesting idea at Mnatwork: http://mnatwork.com/ but unpredictable results... • I like the work of Daniel Mall: http://portfolio.danielmall.com • New blog post: "Users and attention" tinyurl.com/ktob6y • Short video with Milton Glaser: tinyurl.com/3v6ajx • Page 650 of 1008... only 350 left. Short pause to refuel... • Nah... Sometimes is hard not to be hosting provider of yourself. When they change configuration, scripts just stop working. • Pixel graphics redefined: tinyurl.com/lbme3k • Adobe TV is a unique resource, be sure to bookmark it: http://tv.adobe.com • Photoshop & Lightroom Killer Tips by @MattKloskowski - www.photoshopkillertips.com & http://www.lightroomkillertips.com • "Title 2.0" illness - "(number) of (that)". Give me only a couple, but quality one. I won't make it to the end, so don't distract me. • Apps, Branding, Coding, Creativity, Illustration, Interface, Photography, Writing and More: http://www.fuelbrandnetwork.com • New blog post: "Personal view of the web design process" tinyurl.com/nd95ru • Many people know about Art Directors Club, but what about the Type Directors Club? tinyurl.com/nbpchj • Learn about the graphic design legend Milton Glaser tinyurl.com/kozynl and his new book Drawing is thinking tinyurl.com/kkf3d4 • Haha, create your own monster in Illustrator: tinyurl.com/ngm86w • Thanks to all followers and retweeters :) • Guess which browser is that: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.54" I'm shocked :)" • I want Big-Mac with leopard at the snowing price of 99cents, and don't make me safari till I wait... please ;) • Online background pattern creation tool: tinyurl.com/5mrp2y • Some webdesign showcase sites: tinyurl.com/l2dysa, tinyurl.com/ndbuhd, tinyurl.com/2dqntd, tinyurl.com/lkth3h • New blog post: "Brief review of the new Yahoo web site" tinyurl.com/l8r7jy • .net Magazine Design Awards 2009: tinyurl.com/65zagn Vote! :) • Take a look at Armin Morbach's website and his beauty magazine "Tush": tinyurl.com/nfqnok • Daily inspiration: tinyurl.com/ml8h5g • "Rework" - the new book from 37signals will be a definite must-read: tinyurl.com/m3l55r • Pre-order "Designing with web standards" (3rd edition) by Jeffrey Zeldman and save 37%: tinyurl.com/ns5yus Topics: HTML5,CSS3,IE8,etc • RT @chrisspooner: Beautiful Brochures and Booklets is.gd/2wkeF • I like the work of Aaron Smitthipong, although his website hasn't been updated recently. tinyurl.com/mdegb7 • New blog entry: "Compression of web content" tinyurl.com/luqo4a • If you never heard about Baron & Baron, now is the time: tinyurl.com/lkosrr • Roger Johansson's book reviews on the subject of web design: tinyurl.com/29roz8 • American Design Awards Monthly Winners (04.2004 - 08.2009): tinyurl.com/qhp5ga • Some companies may explode not because of the crisis, but because of the mergers they've stepped in. Blue Flavour is new in this category. • Alexey Brodovitch always shouted to his designers with the words: "Astonish me!". That explains why people around him were so successful. • New blog entry: "Working in a team" tinyurl.com/pdb5pe • @aselina Thanks for the RTs aselina :) • @cameronmoll Glad to know knee surgery went well! Your work is so inspiring, we can't allow anything bad to happen to you. Recover soon! • Design of the new british coins, by Matt Dent: tinyurl.com/ma7y8z • "Applied Mediocrity", 1st intro at Evoke'09: tinyurl.com/n9zzcd + "Frameranger", 1st demo at Assembly'09: tinyurl.com/qepfpk • Free event: Gnomon School of Visual Arts and VES give insight into the creation of Pixar's "UP": tinyurl.com/kohy8n • I like very much the work of the creative agency Ars Thanea: tinyurl.com/lvaodq. They are world-class. • Fabulous photos by the indonesian photographer Rarindra Prakarsa: tinyurl.com/4swykk • Core77 is a great general resource about design: http://core77.com • Find out more about the world's favourite illustrators: tinyurl.com/nqahyp • "Subject To Change:Creating Great Products & Services for an Uncertain World" may be a good read, if Donald Norman uses it in his courses. • My first blog entry since a long time - "Advertisements and websites": tinyurl.com/nx6ny8 • Publicis Groupe acquires Razorfish from Microsoft for$530 million.
• Digaworks Interactive have a very beautiful website and impressive portfolio: http://www.digaworks.com
• Issue 06, Adobe INSPIRE: "The designer as photographer" by Senior Experience Designer @kpimmel tinyurl.com/lx5865
• Ars Electronica Showcases: tinyurl.com/mwsrjd
• Winners of the CorelDRAW international design contest: tinyurl.com/no2sbl
• Christian Etter + Susan McCrystal @unit9 with a viral video on the Reebok new website: tinyurl.com/lskomq
• The biggest demo scene event for computer generated art "Assembly'09" is streamed live between 06.09 and 09.09: tinyurl.com/yljvn9