|
In this tutorial I will guide you through the fundamentals of VB.NET. In fact, the following topics are fundamental to every programming language. You cannot make progress without an understanding of these topics. VB die-hards: here's a tutorial to help spread the love.
|
|
|
|
|
Every developer sets out to make their API perfect when they start writing it, but, at least from this author's experience, it often veers as requirements pour in. The following is a small checklist of things that might indicate you're veering too far. If you're calling KitchenSink(), you may be doing it wrong.
|
|
|
|
|
All modern languages and framework expose a set of buffer-backed data structures. Things like dynamic arrays (aka [Array]Lists) and StringBuilder. They are a useful convinience that comes with a steep price: poor memory characteristics. The way these work is simple: a fixed-length structure (typically an array) which copies itself into a larger fixed-length structure as needed.... The performance characterstics of such structures is the same as the underlying structure for read operations. While a write operation isn't guarnateed to be the same as the underlying structure, more often than not it is. The real problem with these structures is the impact it has on memory. Dear Abby, My buffer overflowed. Should I clean up, or try to ignore it? Sincerely, Bits Everywhere.
|
|
|
|
|
I recently took a vacation the same week as the 4th of July and had lots of time to reflect upon my career to date. It was a little shocking to realize I’ve been writing code for nearly 30 years now! I decided to take advantage of some of the extra time off to author this nostalgic post and explore all of the languages I’ve worked with for the past 30 years. So this is my tribute to 30 years of learning new languages starting with “Hello, World.” Greeting new languages, from TI BASIC to TypeScript and AngularJS.
|
|
|
|
|
The next generation of game consoles is here. This time around, nipping at the heels of the giants (Sony, Microsoft and Nintendo) are the microconsoles: less powerful, cheaper, and more welcoming to indie game developers. The superstar of this new family of game consoles is the Ouya. In this How to Learn guide, we’ll introduce you to the Ouya platform and its capabilities, share links to resources, and present a few suggestions to get you started developing games with it. Unity support is key, but MonoGame looks promising, too.
|
|
|
|
|
I see a lot of headlines these days about "big data" and immediately identify. I think of all the big data problems that I've grappled with over the years and imagine what the key problems with managing big data will be as the data stores get larger and more diverse.... In a sense, I've been working with big data for decades -- cumbersome system logs, sometimes that went on for months, and crazy big logs from big web sites (e.g., the web logs from magazines like SunWorld and JavaWorld back in the late 90's). I might be analyzing tens or hundreds of gigabytes worth of data to answer important questions. The tools that I use won't be much different that those I use to work with files that are tens of kilobytes in size, but the techniques vary considerably. Grepping for needles in haystacks.
|
|
|
|
|
There was no shortage of long-distance diagnoses of the typography in Apple’s recently presented mobile interface, iOS 7. The live-streaming keynote address from the WWDC developer’s conference last Monday hadn’t even started before the first typophiles started sharing their concerns on Twitter. The day before the announcement, our friend Stephen Coles was already deeply worried about the light weight of Helvetica on the display banners hanging at the WWDC venue in San Francisco... Don't get your Bodoni in a bunch... Here's how TextKit improves font handling in iOS.
|
|
|
|
|
In video games, territory often embodies a variety of aspects of meaningful play: storytelling through exploration or experimentation with the environment and the objects contained in it, the tactile or sensual experience of confronting level design, of solving for a goal, of feeling one’s way through to the next area. The territory contains loot, enemies, secrets, keys, NPCs, useless or superfluous junk. The territory is designed to look and feel a certain way, perhaps to elicit a certain emotional response or type of play. Sometimes territories are spatially linear, or nodal, or branching, or confusing and ethereal and broken up.working in each computer window. Further, we directly measured stress using wearable heart rate monitors and found that stress, as measured by heart rate variability, was lower without email. You are standing in an open field west of a white house...
|
|
|
|
|
We report on an empirical study where we cut off email usage for five workdays for 13 information workers in an organization. We employed both quantitative measures such as computer log data and ethnographic methods to compare a baseline condition (normal email usage) with our experimental manipulation (email cutoff). Our results show that without email, people multitasked less and had a longer task focus, as measured by a lower frequency of shifting between windows and a longer duration of time spent
working in each computer window. Further, we directly measured stress using wearable heart rate monitors and found that stress, as measured by heart rate variability, was lower without email. Without email, you'll get more done. Please forward this important information to all your friends.
|
|
|
|
|
I was asked recently by someone looking to possibly get into this field, “what does a normal day look like for you”? It’s a good question. I haven’t ever really thought about in before. I tell friends I sit on a computer all day and write code, but there’s a lot more to it that I just don’t think about usually. So, here’s an average day for me as front-end developer. Coffee, Twitter, Vim, repeat...
|
|
|
|
|
I’m increasingly realizing that many of my gripes about applications these days are triggered by their failure to understand my context in the way that they can and should.... In each of these cases, programmers seemingly have failed to understand that devices have senses, and that consulting those senses is the first step in making the application more intelligent. It’s as if a human, on awaking, blundered down to breakfast without opening his or her eyes! Mobile and sensor-based programming creates new opportunities to innovate.
|
|
|
|
|
Quantum software has finally left the dark ages with the creation of the first practical, high-level programming language for quantum computers. Although today's devices are not ready for most practical applications, the language, called Quipper, could guide the design of these futuristic machines, as well as making them easier to program when they do arrive. Based on Haskell, and can't run on an actual quantum computer. But... progress?
|
|
|
|
|
This post provides this definition and also looks closely at declarative programming as a paradigm: its benefits, its limitations, and how it impacts professional developers. We will also see how declarativeness relates to what is commonly understood as functional programming, and consider ways in which we can reach for declarativeness as a tool in our otherwise imperative code. Independent, stateless and deterministic... and just as likely to annoy you as any other code.
|
|
|
|
|
"On December 9, 1968, Dr. Douglas C. Engelbart and the Augmentation Research Center (ARC) at Stanford Research Institute staged a 90-minute public multimedia demonstration at the Fall Joint Computer Conference in San Francisco. It was the world debut of personal and interactive computing...." To commemorate this famous event, commonly known as the mother of all demos, SRI held a 40th anniversary celebration at Stanford today. As a small tribute to the innovative ideas that made up the demo, it is befitting to mention some of the programming languages that were used by Engelbart's team. A few were mentioned in passing in the event today, making me realize that they are not that widely known. They dropped a little LSD (Language for Systems Development) and threw some SNOBOLs.
|
|
|
|
|
In the past few months I’ve had the… uh… privilege of helping some people who are new to Python to get to know the language. I found that there are some pitfalls that almost everyone meet when they’re new to the language, so I decided to share my advice with you. Each part of this series will focus on a different common mistake, describe what causes it and offer a solution. Who would have thought the old code had so much whitespace in it?
|
|
|
|
|
This competition ranks lossless data compression programs by the compressed size (including the size of the decompression program) of the first 109 bytes of the XML text dump of the English version of Wikipedia on Mar. 3, 2006.... The goal of this benchmark is not to find the best overall compression program, but to encourage research in artificial intelligence and natural language processing (NLP). A fundamental problem in both NLP and text compression is modeling: the ability to distinguish between high probability strings like recognize speech and low probability strings like reckon eyes peach.... This is an open benchmark. Anyone may contribute results. Compression improvements are eligible for the Hutter Prize, with 50,000 euros of funding.
|
|
|
|
|
Today I’m releasing Let’s Play: Ancient Greek Geometry. It’s a Compass and Straightedge tool/puzzle game written in JavaScript. I’ve always thought Geometric Construction felt like a puzzle, so to me this pairing was quite natural. Compass and Straight edge is a technique for constructing shapes out of circles, straight lines, and their intersection points. Congratulations, you've unlocked the Golden Ratio achievement!
|
|
|
|
|
I've received a couple of questions about fred following the failure of the kickstarter to fund it as open source yesterday.... The big one is: "why don't you just open-source it as-is?". My answer is: it's not that simple, and it wouldn't help anyone as-is. I am not willing to just cut this all loose to the world. It represents a non-trivial amount of work, and why would I undercut my own ability to license it appropriately? Seriously, how can you possibly justify that? It would be one thing if I was riding a train of fat paychecks from some "day job", but I'm not. This is what pays my bills, and I'm not giving it up for free. The amount of work needed to open source a project is often non-trivial... and not free.
|
|
|
|
|
Microsoft has just made its mark on 3D printing with its announcement of built-in support for 3D printing in Windows 8.1. Now I don’t usually do blog posts like this where I pretend to keep up with news, but I see nothing but hollow rehashes... about this story. Heck, even Microsoft’s own blog post from a general manager is 100 percent devoid of information on what they’ve introduced. That’s a real shame, because the new Windows components advance the 3D printing field by quite a bit while fixing many of the glaring technical issues. Is Windows 8.1 the first platform to have meaningful standards and support for 3D printing?
|
|
|
|
|
Something about the ailing PC industry, competition among makers of smartphones and the endless quest for the next big thing has nearly every major consumer electronics manufacturer working on a smart watch or at least contemplating it. The latest is Dell, whose global VP of personal computing just told The Guardian that the company is thinking about a smart watch despite “challenges in cost, and how to make it a really good experience.” In other news, hardly anyone actually wants a smart watch.
|
|
|
|
|
Everywhere you go on the web you see some sort of slider or scrolling widget on the page. You see a lot of them on blogs advertising the latest posts, you see them on event pages showing shots of the audience and speakers and you even see them on software company homepages showing screenshots of the their latest software release. Sure you can get a ton of different ones from the WordPress plugin directory, or by shopping around different widget company websites, but how hard is it to make one? In this article we will attempt to show the anatomy of these types of sliders and scrollers. Don't rely on someone else's library when you can build your own.
|
|
|
|
|
No one is happy with how quickly developers change the world, and everyone wants the code to flow like water from a fire hose, but no one wants to give developers what they need to get the job done. The same boss who wants the job finished yesterday won't hire more people, buy faster machines, or do any of the dozens of things that make it easier for programmers to just program. Here are 15 real-world roadblocks to programming progress, each of which is getting in the way of building the next generation of software. Brew some coffee, don't change the requirements and get out of the way...
|
|
|
|
|
Quote: What's worse, they [nonprogrammer managers] don't have a single ounce of Asperger's in them, so they insist on staring at your eyes throughout the meeting.
|
|
|
|
|
I've been tempted to take a Linux box with and AMD GCN GPU, and just go direct to the hardware since AMD has opened up a bunch of required documentation (ISA and driver source). The ultimate in graphics API is virtually no API, and no CPU work to draw anything. The engine would simply leverage the 64-bit virtual address space of the GPU, give all possible resources a unique virtual address, then for any given GPU target, pre-compile (meaning at author time) not just the shaders, but the command buffer chunks required to draw a resource in any of the render targets in the game's pipeline. Zen Koan of Doom: The ultimate API is no API.
|
|
|
|
|
Like any developer tool vendor, we at NDepend are eating our own dogfood. In other words, we use NDepend to develop NDepend. Most of default code rules are activated in our development, and they are preventing us daily from all sorts of problems.... It is not so much about keeping the code clean for the sake of it. More often than not, a green rule that suddenly gets violated, sheds light on a non-trivial bug. Know the rules well, so you can break them effectively.
|
|
|
|
|