300 karma · joined August 15, 2007
Not sure if I buy the "as a kid would write" bit, but it is surprising to see this. Maybe the hacker just took 10 mins and proofread his own text?
If you are awesome and outgrow that VPS with some paying customers, then I think you can swing the $1,000 on a windows license.
I really hate being a shill for MS...
1. The majority (99%) of your app is not perf-circital. It's just setting some properties on UIViews and letting CoreAnimation do the rest, or reading data from the DB, or waiting on a network socket. If something is slow, you just throw it on a background thread with a continuation to resync it with the UI thread.
2. Over the years, I have found that micro-optimizations (like: allocating objects on the stack as in C vs allocation on the heap in C#, no dynamic dispatch in C vs lots of virtuals in C#, etc.) are _all_ that C give you and are not enough to make an app like iCircuit fast.
What you need instead is the ability to easily change and experiment with algorithms. C# gives me this -- programming in a strongly typed OOP language gives me the safequards I need to do this. The GC is what allows me to do this quickly and without pulling out my hair (caches in C/C++ drive me nuts because I have to be so careful about ownership rules of objects).
In a nutshell, I'm willing to trade the small (constant) perf hit in order to have better tools for tackling the hard problems - such as analyzing a 1,000 node circuit.
iCircuit contains one tight loop where it has to factor a very large matrix many times a second. That loop runs fine on .NET on desktop machines (don't even break a sweat), but I used a C function for the iOS version since there was about a 2X improvement of speed for this function. Fortunately, .NET makes it stupid easy to call C functions so I have the best of both worlds.
I know, I know, #242 doesn't sound like a lot, but it's a big store. :-)
I use Mono for the ease of development (powerful language + nice IDE), the nice runtime (GC and type reflection), and the .NET libraries.
:-( fail. But still a really great concept!
But I'm tired of defending them.
I honestly just don't understand people's negativity. I'll say it again, better browsers make for a better web. You can laugh at their marketing pitch, but we should all be excited that they put a thoroughbred horse in the race.
I think native is justified given that (1) they are (finally) JITing their JS and (2) their graphics renderer in using the new DirectWrite lib which is very close to what the WDDM graphics drivers talk. They're saying that they're running much closer to the hardware than they did in the past.
Why are people being so negative about it? Better browsers are better for the web. Period. Exclamation point.
His article on the scripting language was also my first realization of the power of DSLs.
I should also say that most of my learning came from studying the header files in the SDK and imagining what the various implementations would look like. The SDK is still available: http://www.udk.com/download
I even taught myself how to write a decompiler so I could see those implementations. This taught me about the PE format, C++ name mangling, and, of course, x86 assembler. Heady stuff for a 20 year-old. :-)
And then he posted this darned screen shot: http://stackoverflow.com/questions/2791787/what-was-tim-swee... and taught me about C++ metaprogramming.
And then this presentation: http://www.cs.princeton.edu/~dpw/popl/06/Tim-POPL.ppt which made me spend months learning what these stupid Monad things are and having to learn Haskell, ML, and Common Lisp in the mean time. (What? C++ isn't the best programming language available?)
While some people learned to program by going to college, I learned by studying _everything_ Tim Sweeney and John Carmack wrote (and practicing, practicing, practicing). Mr. Carmack's release of old id source code is a huge gift to the world.
You lost me at hello. While it might seem like a cool P2P idea to remove the central authority of the server, its removal leaves a vacuum of responsibilities. How do you prevent cheating (setting personal bank account to $1,000,000.00), how do you coordinate events (send DM/Notification to clients when a resource changes), how do you handle transactions?
Maybe I'm out of date and all those distributed techniques are known, but I don't think so.
3.75 inches 3.75 inches tall 3.75 x 3.75 x 5.75 inches 3.75 x 4.5 x 7 inches
The problem with human entered / non moderated data is that these lists will become longer and longer over time and the database will not understand that they all mean the same thing. Joins will be impossible and its relevance fades.
We should be happy that "the computer problem" is solved (at least for now). Computer technology has plateaued and there is no hard engineering required right now. This is a good thing! It gives us time to experiment with software. So Silicon has gone the way of Northeast Steel. So what if the world changes?
If you want to do hard engineering, you go to the fields that require it - war inc. (looking for more efficient ways to kill our neighbors), space flight (the modern space race is exciting), industrial automation (eventually the populace of Asia will want to climb out of indentured servitude and we need to replace them with something). These fields still need smart engineers and big $ startups.
I understand the desire of programmers to start from ground zero, but come on. The internet is full of easy beginner tutorials. Bookstores are full of intermediate materials.
But there is a shortage of expert advice from experienced professionals. Let's see some of that!
To be thoroughly honest, I don't know if it was Samba acting up on me or if it was the Ubuntu file browser (Nautilus?). Every couple days or so, I would have to click the refresh repeatedly for about 30s in order to get it to see the network shares. Was that Samba's fault or GNOMEs? I don't have the knowledge to say either way.
Thank you for the information.