Jump to content

Sitwon

Active Members
  • Posts

    458
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Sitwon

  1. Here's a list I like: http://www.gaiaonline.com/forum/c-t-tech-talk/suggested-reading-technology-and-programming/t.69647195_1/ A lot of the books on the list are technical non-fiction, but there's also some good fiction on the list. Basically, whatever we felt was important for someone to read to be well versed in both the science and culture of programming.
  2. Join a local hackerspace or find a programming meetup in you area. Or find an open source project that you care about and get involved. In my experience, most open source projects have very newbie-friendly communities. If you're willing to contribute they will train you on how to get started and coach you on writing code that meets their standards.
  3. I am not a lawyer. I am not your lawyer. The following is my understanding based on talks and articles by EFF representatives. Unless you are running your own mail server on a machine that you personally own, it doesn't make a difference. Your Fifth Amendment rights will only extend to your data that you have stored locally on machines that you own. If you are using an email service like Google, they can be subpoenaed for your data. If you are using an email service provided by your domain registrar or web host, they can be subpoenaed for your data. If you are using an email server that you run on a rented VPS or dedicated private server, they can be subpoenaed for your data. In order for your Fifth Amendment rights to come into play, the data must be stored locally on hardware that you personally own, not rent. The law may even require that you maintain physical custody of the machine. Eg, you wouldn't be able to install it in a data center where you rent rack space. The issue currently being examined is whether or not people's Fourth Amendment rights have been violated. That is, unreasonable search and seizure of data resulting from over-broad warrants. Again, the only way you can be sure that the data on your box is not being searched or seized is to keep it on a system that you own and maintain physical custody of. Even then, they government might subpoena your ISP for your traffic records, or even install a wiretap to watch your traffic. The only solution to that would be end-to-end cryptography which is designed for secure messaging over un-trusted networks. Things like OpenPGP or SSL.
  4. Just because you have Java installed and it works in your browser does't mean it is in your %PATH%. You need to check your environment variables to make sure that %PATH% contains the directory where the Java binaries are actually installed.
  5. Haha, I just went through all this about 3 months ago. Check out: https://github.com/Sitwon/dot-files/blob/master/muttrc and: https://github.com/Sitwon/dot-files/blob/master/mailcap Basically the improvements over what you already have are: 1) Comment out "set record=..." or you end up with double-copies of all your sent mail. 2) Bind group-reply so you can reply-all when necessary: bind index,pager A group-reply 3) Sign everything by default: set crypt_autosign=yes set crypt_replysignencrypted=yes 4) Setup a ~/.mailcap file for viewing HTML and images. Pandoc is a cool utility that can convert HTML to Markdown (or vice versa, among dozens of other potential conversion). When viewing HTML in the pager it will use pandoc by default, or you can hit 'v' to view attachments, select the HTML message part, and hit 'm' to force it to open in the browser. For images, just selecting them and hitting enter will open them in an image viewer (I use 'feh').
  6. Are you saying that you want to do monitor mode from the inside OS on the bridged interface of the outside OS? That's probably not going to happen without some extra software. Normally a bridge won't let you do that.
  7. "Tack" is also a nautical term. Actually, two nautical terms, one a noun and the other a verb. It's either the leading edge of the sail, or the act of sailing into the wind.
  8. The same has been said (more frequently and more loudly) about PHP. In fact, PHP is probably one of the most hated languages of all time. I think only VB receives more hate than PHP. http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ Also, that guy in the video doesn't know what he's talking about. His explanation of "non-blocking" is completely wrong. PHP (the way most people run it) is incredibly slow itself. His complaint about running a caching server in front of Node.js is bogus, because that's a best practice for scalability regardless of which server-side language you choose. You don't need to use the built-in web server, you can run make regular CGI applications too if you want. Personally, I'm not a big fan of writing in either PHP or Node.js, but this guys criticism is completely incorrect and ill-informed.
  9. What gives you the impression that 7zip is no longer being maintained? I've heard no such thing, if you have a source please post it. Also, if you're using the 7z format, not just LZMA compression algorithm, then you have two options when creating an archive, solid or not-solid. If you choose a solid archive then the entire contents of the archive are compressed as a single stream (which allows for tighter compression), however not-solid will compress each file individually allowing you quicker access to individual files. SquashFS is pretty good if you need fast random access, but it's read-only. If you want to add a file you need to re-compress the entire archive. Also, there's no official Windows port so you'll need to either use 3rd-party binaries or compile it yourself.
  10. GTK+ is a cross-platform widget toolkit. It is used for creating GUIs. GTK+ is written in C, but provides bindings to many other languages including Java and C#. By contrast, Java and .NET are fundamentally different. They are platforms which are composed of a runtime environment (VM), a set of standard libraries (which include a widget toolkit), and a default language (or languages) which are designed to make use of the standard library and target the runtime environment. So when you talk about Java or .NET you're really referring to a full-stack platform that includes numerous discrete components (most of which can be swapped for alternatives) of which the widget toolkit for writing GUIs is just one small and relatively insignificant piece.
  11. I've got some decent resources listed here: http://sitwon.github.io/learnproglang/Home.html You should look into joining a local hackerspace or similar community. Also, find an open source project that you like and get involved. Most FOSS projects have very open communities and are willing to mentor new coders who want to contribute to the project. Learning by doing is really the best way to get experience AND it gives you something to put on your resume.
  12. First of all, I would dispute that Python is the best language for "coding in Linux". It's a good language, and a useful language (on Linux as much as on any other platform). However, on Linux the two most important languages are Bash and C. That said, Python is easier to learn so you might as well start there. Learn Python The Hard Way is certainly one of the best resources out there for learning Python. If you need it in book form, here you go: http://www.amazon.com/Learn-Python-Hard-Way-Introduction/dp/0321884914 If you're still determined to use a different book, it's hard to go wrong with anything published by O'Reilly. There are plenty of other good books on Python out there, but you might as well start collecting pink O'Reilly books now.
  13. First of all, Scala is not an "add-on framework". It is a distinct programming language which happens to compile to Java Bytecode so it can run in the Java Virtual Machine. The Java Virtual Machine (and its bytecode) is separate and distinct from the Java Programming Language. Obviously the two are related, but Scala is not an add-on. Scala targets the JVM in the same way Java (the programming language) targets the JVM. Or the same way that C# and VB# and F# and Nemerle all target the CLR (.Net's VM). Second, yes Java is an OOP language. However Java's OOP model is NOT the same as C++'s OOP model. While Java's syntax is superficially similar to C++, it draws more from the influence of SmallTalk than it does from C++'s version of OOP. If you come at Java expecting it to behave like OOP in C++ then you're doing it wrong. I recommend reading Just Java 2 (http://www.amazon.com/Just-Java¿-2-6th-Edition/dp/0131482114/), it explains Java as a language from the perspective of one of the authors. It really gets you inside the mindset of Java's world view, explaining the design decisions that were made and what problems they were solving. No other book I've seen on Java really does it justice. Java is not a perfect language, but it's not as awful as people tend to assume. The problem is that it tends to be poorly taught and poorly understood. Again, Scala and Groovy are not frameworks, and they don't compile to Java code. They are distinct languages that happen to compile directly to Java Bytecode. .Net languages like C#, VB#, Nemerle, and IronRuby compile to .Net Bytecode and run in the CLR. JVM languages like Java, Scala, Groovy, Clojure, and Jython compile to Java Bytecode and run in the JVM. There are other virtual machines out there, each with their own bytecode languages. (ParrotVM, NekoVM, BEAM, LLVM sort of) Because Scala happens to share the same runtime environment as Java it is capable of calling libraries that were written in Java or any other language targeting the JVM. This is the same as VB# code calling a method that was written in C#. You don't need to learn Java first in order to learn Scala, in fact doing so would only serve to confuse you. While they share the same run-time environment, the have many different semantics and different approaches to solving the same problems. Scala also has features that Java currently doesn't (such as real lambdas, tail-call optimization, pattern matching, mixins, and more). I like Scala because it's cleaner way to write code that can run on the JVM and interface with legacy applications or third-party code that was written in Java. It gives you all the benefits of the Java Platform and on top of that you get to write elegant code using Functional Programming paradigms. You should still read Just Java 2, but just for the purpose of understanding Java's object model.
  14. Don't like Java? That's because you're Doing It Wrong. This is how you do Java correctly: http://www.scala-lang.org/
  15. It's the very first thing listed in their FAQ. http://www.pyinstaller.org/wiki/FAQ
  16. If you buy the Galaxy Nexus or Nexus 4 from Google they will do tethering out-of-the-box without any additional apps.
  17. that doesn't look very comfortable, although I guess it would enable a new realm of gesture-based controls.
  18. One of the philosophical differences between Git and other DVCS tools (and a frequent criticism of Git) is that Git's history is mutable. In other words, you can purge a file from the history of an existing repository. Of course, since it's a DVCS that doesn't remove it from any repositories which were forked or cloned before the history was re-written. And using this ability to re-write history can sometimes cause problems in a large, heavily branched repository. But all power comes with some risk.
  19. I don't really agree. Git is fully transparent to anyone who takes the time to understand how it works. I'm not even talking about reading the source code, they provide ample tools and documentation for poking around the system. You can easily view the changes made by each commit which will be uploaded before doing a push. Git does allow you to automate the process as much as you like, as a convenience to the user. However, since the typical user is a sysadmin or developer I have little sympathy for them not understanding how to use Git appropriately, or making this kind of mistake. I tend to hold sysadmins and developers to much higher standard in this context, as it is our obligation to understand these tools and systems in order to perform the functions of our job. A sysadmin or developer who doesn't know how to use Git would be like a carpenter who doesn't know how to use a circular saw.
  20. In DC I've seen it used to silence political or commercial opponents. You advocate for a change that is not politically or financially advantageous to someone else, they use fear mongering of 3rd-party child porn charges to silence you or attack support for your ideas. It's one of the biggest legal hurdles facing open access advocates in DC.
  21. What kind of services are you looking for? I've heard only good things about Rackspace.
  22. Here are three open source ZIP crackers I found in less than 1 min on Google. http://oldhome.schmorp.de/marc/fcrackzip.html http://sourceforge.net/projects/zipcrack/ http://sourceforge.net/projects/zipcracker/ Try one of those.
  23. I remember using a zip password cracker for VCL back in the 90s, and it worked in a reasonable amount of time on a 133MHz processor. Granted the password was only about 7 characters long, but these days we have much faster processors in our cell phones, you should be able to do a lot better than 24 p/s even with an inefficient shell script.
  24. No, it isn't against the law to possess pictures or videos of a murder or of rape. Only child porn, it's treated as a special case. This is a problem which has been acknowledges by members of the EFF. Even being falsely accused of involvement with child pornography can end a persons career and ruin their life. This is a big stick that both corporations and governments wave around to silence viewpoints they don't like. I've watched it happen in Washington DC and the surrounding suburbs. These exceptional laws on child pornography are being used to actively restrict First Amendment rights.
  25. Unlocking phones isn't as significant of an issue as jailbreaking, IMHO. First of all, pretty much the ONLY way you get a locked phone is if you buy your phone at a subsidized rate from the carrier or get it second-hand from someone who did. If you buy your phone direct from the Manufacturer and pay full price than it usually comes unlocked already. Second, most carriers will unlock your phone (sometimes for free, otherwise for a small fee) if you tell them you're going to be traveling outside of the country. It sucks having to pay that fee, but the subsidized price + the fee is still cheaper than buying the phone at full price (of course, you're still going to end up paying more over the long run because you're locked into a contract when you buy a subsidized phone). Third, there is virtually no mobility in the US market anyways. Unlike in Europe where you often have half a dozen carriers to choose from, in the USA you are basically limited to AT&T and T-Mobile. Those are the only two carriers operating GSM networks. There are a handful of MVNOs, but several of them don't allow you to bring your own device anyways. So I'm not really bawling my eyes out over no unlocking. As long as I can jailbreak my phone I can buy a unlocked phone direct or get one in Europe. But even still, that only matters if you're using AT&T or T-Mobile. For users of Sprint, Verizon or their MVNOs it doesn't matter if your phone is locked or not, you can't switch networks anyways.
×
×
  • Create New...