Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Break



  How can I teach a bright person, with no programming experience, how to program?

I usually prescribe the same sequence for anyone who wants to learn programming. It's very theoretical, but it lays a good foundation. It should take three or four months of fulltime study, but programming isn't something you learn overnight.If you can't get through this sequence, you're not going to be able to program, so you might as well give up now.Code, by Charles Petzold.The C Programming Language, K&RThe Structure and Interpretation of Computer Programs, Abelson and Sussman.My rule is...

   Steps,Programming,No experience,No knowledge     2011-11-07 08:27:48

  Programming: the benefits of taking a break

This post lists several benefits of taking a break during programming.You work smarter, not harder. Once, I worked really hard on a feature. For two weeks, 12 hours a day, I put in a lot of effort. After those two weeks, I took a break and came up with several ideas that made much of the work unnecessary.You think more clearly. Being tired has a similar effect as being drunk. At the end of a day, I often kid myself that I’ll just get this one thing finished quickly to have a fre...

   Programming,Break,Rest,Refresh,New idea     2011-11-08 08:50:45

  Get associated file icon with only extension name using C++ on Windows

I have searched on Google for a few examples on how to get associated file icon with only file extension name using C++ on Windows. There are some useful information provided on MSDN which explains the use of SHGetFileInfo() function.It also gives an example code, but it doesn't say how to do it with only the extension name.  Here I give an example code on how to achieve this after I gathered and summarized some  useful information from Internet. I have tested the code on my PC, it w...

   File icon,Windows,Association,Extension name,C++     2012-03-26 09:55:20

  TowTruck from Mozilla Lab

TowTruck is a real time collaboration tool developed by Mozilla lab, it can enable users to do real time chat, voice chat in any webpage. Both sides can see each other's mouse position, it will produce animation when mouse clicked. The classical application for collaborative sides is users can discuss a document while reading the same document or modify some codes or fill up an application form. TowTruck is an open source project. It's very easy to deploy TowTruck, first you need to embed below ...

   TowTruck,Mozillar Lab,HTML5     2013-04-15 12:23:13

  Use Delve to debug GoLang program

If you don't know how to debug program, you are not a real programmer. gdb can be used to debug go program, but according to golang website, delve is a better option.   Note that Delve is a better alternative to GDB when debugging Go programs built with the standard toolchain. It understands the Go runtime, data structures, and expressions better than GDB. Below is a simple go program. package main type Person struct { Name string Age int } func main() { var me Person me.Nam...

   GOLANG,DEBUG,DELVE     2018-11-09 23:28:43

  That’s Not TDD

A few months ago I was visiting a client who was having a lot of problems using TDD. “It takes over half an hour to run our unit tests,” he said. “You are not doing TDD,” I said. “In order for tests to be valuable all of them must run fast—within a few seconds, or developers will stop running tests frequently.” “But how to I make them run fast?” he asked, “Just connecting to the database takes 30 seconds” So I showed him a techn...

   TDD,Driver,QA,Model,Uncontrol,Method     2011-08-25 02:26:29

  PHP function overloading puzzle clearer

PHP's meaning of overloading is different than Java's. In PHP, overloading means that you are able to add object members at runtime, by implementing some of the __magic methods, like __get, __set, __call, __callStatic. You load objects with new members. Overloading in PHP provides means to dynamically "create" properties and methods. These dynamic entities are processed via magic methods one can establish in a class for various action types. Some example:class Foo{    p...

   PHP,function overloading,OOP,default val     2011-07-11 03:24:30

  Fastjson just fixed a bug which might cause out of memory issue

Fastjson just fixed a bug which might cause service down a few days ago. This bug is caused by some mishandling of special character \x which is an escaped character to indicate hexdecimal number. The impact of this bug would be big if the attacker constructs a malicious data which would cause the service down.  The code which causes the issue is in com.alibaba.fastjson.parser.JSONLexerBase#scanString, when a JSON string is passed in, fastjson would parse the string character by c...

   FASTJSON,ALIBABA,BUG,NEWS     2019-09-07 06:03:49

  Why isn't all internet traffic encrypted?

The biggest problem is that you must be able to verify that you're encrypting to the correct key. Without it, encryption would be practically useless, as anyone could perform a man-in-the-middle attack on the connection and remain undetected.In typical SSL/TLS, as well as other protocols using X.509, this verification is performed by "certification authorities", which are explicitly marked as "trusted" by web browsers and operating systems. Unfortunately, these CAs usual...

   Internet,Traffic,Encryption,Decryption,Security     2011-10-15 15:03:37

  Using Fabric to deploy web app

Many people may use FTP and rsync to synchronize codes to server, this way is fine but it may be troublesome when you need to deploy many times a day, actually there is a simple way if you can spend time on finding the fast way. We introduce Fabric today for deploying web app to remote server. Fabric is a deployment tool written with Python, the biggest feature if it is you no need to login to remote server, you can execute remote commands locally. Here is s simple deployment script written with...

   Fabric, Web deployment,SSH,Python     2012-12-08 03:16:00