|
This is a port of LLIte in C. The reason for it is to experiment with writing functional code in standard C and compare the experience with using a functional language like F#.... I have to say, it didn’t feel too cumbersome to structure C code in a functional way, assuming that you can use GLib and a couple of GCC extensions to the language. It certainly doesn’t have the problems that C++ has in terms of debugging STL failures. An experiment in writing functional code in C.
|
|
|
|
|
What is a NANDputer? it’s a computer made out of nothing but NAND gates of course! I dunno why, but I thought it’d be fun to make this. I first had to work out how various parts of a CPU would be made out of NANDs, did a bunch of tests and went to town. Building a computer with NAND gates, dip switches and wire. Lots and lots of wire.
|
|
|
|
|
What?! Not relays?! What a wuss.
I'll have to peruse Charles Petzold's "Code" again, but I'm pretty sure he says you can make anything from NANDs.
|
|
|
|
|
You can. Actually read that book as part of a class where part of what we did was just that: build an entire CPU + Memory out of NAND (in a simulator).
|
|
|
|
|
Gryphons Are Awesome! Gryphons Are Awesome!
|
|
|
|
|
People use computers in different ways for different tasks. Window Managers and light Desktop Environments are sometime the only choice for less powerful systems or for places where every bit of memory counts (gamers, programmers etc.). Because let's be honest: we often run Linux on old, hand-me-down hardware.
|
|
|
|
|
Why is Andy Rubin no longer running the mobile platform he created? Who knows. Probably only a few people know the real reason. Maybe Andy doesn’t even know. This sort of stuff is complicated. Maybe we’ll read about it in Steven Levy’s next book, or maybe we’ll never find out.... But even from the outside, it’s easy to see that the Android situation isn’t ideal. Yes, it is the world’s “most popular” mobile phone platform, if you sort by the number of people using it, and that’s an impressive achievement. But it certainly isn’t making the sort of impact — on the world and on Google itself — that it perhaps could or should. Android dominates mobile like Windows dominates the desktop. Or does it?
|
|
|
|
|
Over the eons I've been a fan of, and sucker for, each latest automated system to "simplify" and "bring order to" my life. Very early on this led me to the beautiful-and-doomed Lotus Agenda for my DOS computers, and Actioneer for the early Palm. For the last few years Evernote has been my favorite, and I really like it. Still I always have the roving eye. So naturally I have already downloaded the Android version of Google's new app for collecting notes, photos, and info, called Google Keep... Here's the problem: Google now has a clear enough track record of trying out, and then canceling, "interesting" new software that I have no idea how long Keep will be around. Who will trust "free" Google services when so many have been shut down?
|
|
|
|
|
Many breakthrough technologies were hatched by hobbyists in garages and dorm rooms. Prominent examples include the PC, the web, blogs, and most open source software. The fact that flip-flop wearing hobbyists spawn large industries is commonly viewed as an amusing eccentricity of the technology industry. But there is a reason why hobbies are so important. It’s a good bet present-day hobbies will seed future industries.
|
|
|
|
|
That's also why more tech-companies see the benefit of giving their employees 'playtime', where they can use the companies time and resources to come up with cool and innovative ideas and sell that to the employer.
Rather than having their genius employees invent and become owner of a billion dollar idea in the weekend, they want him to invent it while being on the payroll.
So you have less stress and have a more enjoyable career and your boss will carry all the risks and burdens of becoming a billionaire. Pretty good deal, isn't it?
.
|
|
|
|
|
Researchers have unearthed a decade-long espionage operation that used the popular TeamViewer remote-access program and proprietary malware to target high-level political and industrial figures in Eastern Europe. TeamSpy, as the shadow group has been dubbed, collected encryption keys and documents marked as "secret" from a variety of high-level targets, according to a report published Wednesday by Hungary-based CrySyS Lab. Targets included a Russia-based Embassy for an undisclosed country belonging to both NATO and the European Union... All right guard, begin the unnecessarily slow-moving browsing mechanism.
|
|
|
|
|
Google has been pushing their PageSpeed[^] for a while, but now I see that someone has taken some of the behaviour they recommend, creating IISpeed[^], a plugin for IIS.
Quote: A few highlights of what IISpeed can do for your websites:
Minify, rewrite, and combine javascript
Minify, rewrite and combine css
Optimize images in html
Automatically sprite images
Strip whitespace and comments from html, trim urls
Url fingerprinting / cache extending
A/B testing with different settings
--------------
TTFN - Kent
|
|
|
|
|
Had a good laugh in the office on this:
Clicky
Just goes to show how much fun company news can be...
|
|
|
|
|
In this installment we talk to Nish Sivakumar, a literal CodeProject legend. We talk to developers about their backgrounds, projects, interests and pet peeves.
|
|
|
|
|
Now? For some reason I thought Nish was among the first coders to be interviewed.
|
|
|
|
|
What does the kernel have to do to keep track of a game of Tic-Tac-Toe? I reckon the following isn't to far off the mark... Implementing a Tic Tac Toe game in VB.
|
|
|
|
|
Now that we are close to releasing Mozart 2 (a complete redesign of the Mozart system), I have been thinking about how best to summarize the lessons we learned about programming paradigms in CTM. Here are five "laws" that summarize these lessons... Two bits beats a paradigms... in my language, anyway.
|
|
|
|
|
An incredible developer that I work with gave me a piece of advice I won’t be forgetting anytime soon: The key to being a good developer is to be able to find your answer as quickly as possible without learning anything else. To be honest, it hurt when I heard it because I literally have spent probably close to 100 hours so far looking for answers online and getting caught up into learning something else. You know how it is... Cuiosity killed the cat. So did looking at animated GIFs of cats. Only more slowly.
|
|
|
|
|
While Brad's intentions may have been good, his expression of them was poor and ill-advised. Too many inexperienced developers are going to read his statement and think that, if the information they're reading doesn't immediately apply to the problem at hand, it's worthless. They will miss opportunities to improve their skills and to expand their repertoire for the sake of 'gimme codez'.
If you find yourself following a path that isn't immediately related to the problem, save a link to it. When you've got some free time , go back and review those links. Maybe if you had more than a hammer in your tool chest, you'd realize that not all problems are nails, and wouldn't need to spend as much time searching for answers.
Software Zen: delete this;
|
|
|
|
|
Gary Wheeler wrote: save a link to it This advice somewhat implies that you also do this yourself, so may I ask what method/tool you prefer, more precisely is there a better alternative to Evernote or Pocket?
Thanks!
Also for on-topic: I disagree with the author, just searching only for the solution with a tunnel vision actually doesn't help you learn anything, it mostly just solves the given problem. The beauty of the web is that there is so much information out there, you are bound to find a real gem every once in a while. Do agree though that this shouldn't distract you from the main problem at hand.
|
|
|
|
|
szukuro wrote: what method/tool you prefer, more precisely is there a better alternative to
Evernote or Pocket My solution is pretty brainless. I use IE, and I keep the Favorites bar displayed. I've made a folder in the bar called 'Interesting'. When I find something interesting that I don't want to finish reading right now, I drag the link to the 'Interesting' folder. I eat my lunch at my desk. I'll use that time to review the contents of the Interesting folder. As I read items, I delete or move them elsewhere in my favorites.
I'll admit it's low-tech, but it's simple.
Software Zen: delete this;
|
|
|
|
|
That's almost exactly how I do it except for using Chrome. I even called the folder "Interesting"!
I also sync my favourites so that I can follow up at home, at work or anywhere.
- Life in the fast lane is only fun if you live in a country with no speed limits.
- Of all the things I have lost, it is my mind that I miss the most.
- I vaguely remember having a good memory...
|
|
|
|
|
It is exceedingly difficult to argue against a simply designed product…so long as it does what you want or when it does more than competitive products. In fact it is so difficult to argue against simplicity that this post won’t even attempt to. Let’s state emphatically that software should always do only what you need it to do, with the fewest number of steps, and least potential for errors due to complex choices and options. On the other hand, good luck with that. 7 reasons why simplicity in software design is incredibly difficult.
|
|
|
|
|
Egads! I was recently given a 478 page hard-cover textbook by a major educational publisher on Scrum. You gotta be kidding me. There is so much talk and writing about Agile and Scrum and, frankly, in my opinion, 99% of it is confusing and makes things worse for the people who read it. Don’t read that stuff. Read this. Keep it simple. Here’s how Scrum works... Want to try Rich Man’s Scrum? It's the same thing with fancier jargon.
|
|
|
|
|
Businesses offering cloud-based services face a growing data leakage threat, say Taiwanese hardware designers. They claim to have devised a tactic to fight back: a chip with circuitry to frustrate what are known as side-channel attacks. Side-channel attacks scrutinize things like computation time, power consumption, and electromagnetic emissions to glean something about the operations of cloud servers or to steal the cryptographic keys they use. It makes side-channel attacks take so long that they become impractical... for now.
|
|
|
|