What's your favorite IDE/text editor when it comes to programming? Also, what's the setup in the banner up top? http://static.4-ch.net/images/boardtitles/programming.gif, that is.
VS a shit.
Nedit, nvi, GNU Emacs/XEmacs and Xedit.
Get on my level scrub.
Sublime Text, vi on servers, Visual Studio is fine too.
Depends what I'm working on. If i'm working on some bloated e-commerce mess for a .net client, visual studio is opan obvious choice,
Everything else, ST or if unavailable vi
BSD vi, ed, mg on Unix. Sam and acme on Plan 9. Pe on Haiku.
I like vim with solarized dark colorscheme and the linter syntastic. All is very comfortable that way.
Well, I started with "vi" on my very first shell account (a SunOS 4.x box, back in 1995). No idea what exact version of vi it was, but I didn't have any colors or visual mode, or anything like that. Soon after that, I installed Slackware and started using "vi" there as well. And since I completely stayed away from Windows all these years (except when required for a job), I just kept using vi or vim.
Somewhere along the way I got the crazy idea to swap the Escape and CapsLock keys, using either xmodmap or its console equivalent (e.g. wsconsctl in OpenBSD). That made things a lot more comfortable...
Speaking of OpenBSD, their /usr/bin/vi program is a slightly enhanced version of nvi, because it allows you to split the screen and have several text windows displayed at once. I didn't even realize this until one of the developers mentioned it on openbsd.misc:
our vi has multiple windows.
then ^W to move from file to file.
there's no such thing as
vi that doesn't have visual mode. perhaps you're thinking of
Sorry I meant no visual block operations (select, copy, paste) like vim has. Yeah, the SunOS vi was running in regular full screen mode.
Now the "mail" or "mailx" programs, those dropped you into ed or maybe ex by default, for some reason. I mostly used Pine those days, and only occasionally mail in command line mode, e.g.:
mail -s "hi there" recipient@host < msg.txt
Later on when I started doing sysadmin work, I found myself just telnet'ing to SMTP and POP3 ports a lot (for testing purposes). Those interfaces are actually pretty simple; there's just no nice command-line editing/history or saving of messages to "sent-mail" folder or whatever (unless you're logging the session via typescript or whatever).
Emacs is love; Emacs is life.
Tcl is one of the most underrated computer languages today.
It has a weird syntax, but on the other hand the syntax makes it more extensible than any other language besides the Lisp family.
Tk is reputed for it's antique-looking widgets. However with the latest 8.5 releast TTk, Themeable Tk is the default which means native look on Vista, XP, OSX. (Not Linux though, but what can you call native there anyway?)
So if you don't know Tcl yet, go and learn it. It's extremely simple, has an interactive shell, and will expand your mind... much more than learning most other languages!!
> Try explaining a cdr or progn to a non-programmer, both which are very prevalent in lisp.
They're just words. All the words that are in lisp, are in this book: http://l1sp.org/cl/ or you can learn about them by typing:
> What common Python idioms are likely to pose a problem for a new programmer?
It all seems problematic for a new programmer. Explaining why sometimes you use
 lists and sometimes you use
() tuples. Explaining why
__name__ also seems to cause problems. Operator-order is also difficult; explaining why they sometimes read a statement right-to-left, and other times from left-to-right seems problematic.
Someone who is familiar with some algol-like syntax such as is seen in a shell or in another language will have a completely different set of problems- the if, postfix-if, yield, self, and so on.
Caution: Smug Lisp Weenie threadshitting.
Lisp is shit. The worst kind of shit: The kind [i]other people swear they like to eat.[/i]
It seems Tk is considered less-harmful by the cat-v folks (http://harmful.cat-v.org/software)
Hmm, I did some Perl/Tk stuff back in 2004 or so, and the widgets seemed pretty damn close to Win95/NT/2000 style on those platforms. Not exactly identical to straight Win32, but close enough. Now, the X11 widgets (same exact Perl/Tk program running in Linux or BSD) had that unique "Tk" look - kind of frugal/archaic, and kind of charming at the same time, IMO (mind you, I actually *like plain, flat Athena widgets also).
Never really got into Tcl itself though, except for tweaking some ircII scripts back in the day (mostly bots). Seemed like the Tcl/Tk stuff is less buggy than the Tk stuff ported to Perl though. Also writing Tcl/Tk code seems less verbose than Perl equivalent.
I don't know why there is always so much Python comparisons everywhere. Do they have something to prove? Those guys used to invade the comp.lang.perl.misc and related newsgroups a decade ago and constantly talk trash. If that language is was great, it would stand up on its own and not need all this stupid in-your-face advocacy. Because of those incessant antics, Python will always turn me off.
Hey I totally forgot that sometimes I use Expect to automate stuff (like logging into remote shell accounts that require a password rather than SSH key). And well, it's all based on Tcl...
What are your (current) hobby projects? What languages or libraries are you using? How usable or complete is it? What makes what you're doing novel or great?
No need to be smug or anything, or get all angry at other people for using <thing you hate>. Just share what you're up to. Add a URL if it's public too, if you want.
I'll start. I'm writing a stack-based language in Racket for use in embedded devices. It's already got Hindley-Milner style type inference, it just needs to actually produce output.
I'm also planning a modal text editor that feels like vim and a music-making program somehow.
But enough about me. Let's get some actual content on the front page of /code/.
I've started a little handheld GPS tracking/plotting app/script...
Rather modest at the moment, just a save/load function + current path plot..
Uses Js / Droidscript
Fucking around with Haskell.
A raspberry pi motion camera that uploads photos to somewhere on the web.
I also want it to blink an LED every time a photo is taken but I don't know how to trigger that.
Voroni diagram generator with guile and c
We like Kareha here. What have you noticed in kareha? Have you made any hacks or otherwise made use of it?
I saw that Storlek used Kareha as a base for his blog in the past. This seems sane to me, and not all too hard to do. When you think about it, Kareha is (in essence) a community blog.
Entering "fusianasan" in the name field or "2ch-sep93" in config.pl's date field do two quite obvious things.
pseud0ch.css, interestingly enough, does not support italics by default.
all posts on sageru.org are timeless classics.
I'd really like to see some people get together and work on Kareha and its CSS to make it all 2015 update.
update how? just remove the stuff that's there for compatibility with ancient browsers? switching from XHTML to HTML5? or do you mean make it ugly and hard to use by shuffling everything on the page around randomly and making everything big colored squares that you have to inspect closely to find anything?
You run sageru? Cool, never knew. Also that rules page is really nice.
I just downloaded Kareha (inspired by this thread), so I'll probably play around with it for a few weeks and post any tweaks I make here.
Know absolutely nothing about programming but want to learn etcetera...
Used computers all my life but know nothing about the codes inside them. I keep coming up with ideas for computer programs which are based on a few simple tasks or calculations which I think a computer could do but I have no idea how to implement them. I think I should get to the level of making a simple card game or something. Then work my way up to making scripts, something that could open up opera browser, search through a site for certain links, open them up and search for pieces of text and put them into a spreadsheet. That would be useful for my stock market research.
For now though I am a complete pleb and don't even know what software I need or how to take the first step. Here are some links I found that I will look at.
You're exaggerating. A lot of shit in C isn't so difficult for someone just beggining, and if they're learning out of interest, they don't have to master bit operations immediately.
It sure is encouraging, but I like the shell interface, so I don't think of programs that run on a terminal as lowly goals.
And there you can get results fast using C or even asm.
The argument between you 2 has put some perspective on things.
Yes, it has been 12 days. I usually just go to sleep when I get home because of schooling and a part-time job but I think I found a way to mitigate the effects of ADD-PI and stop dawdling. I will probably test these suggestions tomorrow and have something more interesting to talk about.
If I don't follow your suggestion it is likely because I can't find the right software to download or something not that I'm taking sides. Also I now have a tripcode.
> in b4 someone makes their own tripcode and claims to be me
Lastly what do you guys think of this game, it is about transistors.
actually this will be my tripcode
>Maybe it could teach me to use "precision magnets to manipulate the individual bits in your RAM and write programs in raw machine code."
umm I don't think that was completely srs
I'd recommend "How to Design Programs", and if you'd like and have the time, you can supplement with "Structure and Interpretation of Computer Programs" lectures.
>Also I have heard from many sources that programming is more about constructing programs and less about memorizing code, this raises my confidence a little, assuming I am imagining what coding is like correctly.
The focus of How to Design Programs is on program design and construction, and the language it uses is very simple and requires no significant syntax memorization. It's also free and there's an IDE developed for it and the language it's based off of (Racket Lisp).
SICP is a highly-recommended book, but it's also very abstract and can be difficult, but it can be nice to watch the lectures and take notes and see how the ideas are used in HtDP. This is what I've been doing myself, I just started myself a few weeks ago.
I kind of wish there was some kind of beginner's programming IRC room or something for people like us.
learn to program by programming, duh
sicp is overrated abstract bullshite
this is a point that no one may contest
What makes you think that recursion vs. iteration and their benefits and disadvantages, the differences between the environmental and object-oriented models of programming, functional programming, and data-directed programming, and knowing how compilers work by writing your own are "abstract bullshite"?
At the risk of being too obvious, it DOES deal a lot with the structure of programming, and that's why I recommended it as a supplement to a more pragmatic or less abstract book if you have the time. You can always just read it afterwards.
going to try codecademy, also found this theory about ADHD predominately inattentive which might yield something useful
found this, it is very compelling evidence that I can increase glycogen (important source of energy) levels in the brain through exercise
I believe I need to sprint and do some other intensive exercises that use every muscle group in order to "hit the wall", the point where energy reserves are depleted and the body starts to deplete energy from other reserves like the brain. In theory this will trigger the body's natural reaction to increase energy reserves in the brain as well as skeletal muscle and mitigate the effects of ADHD-PI somewhat.
I've seen great web tutorials for Haskell, but is there any better entry-level language that teaches me to no longer think like a computer?
No. Functional programming also works in a "predefined algorithm sequence" (that's the whole point of programming, innit).
What it does, it tries to get rid of this idea, which is brittle (i.e. difficult to get right):
You have a state (a bunch of variables with their values at some time t) that you manipulate with procedures so that at time t+1, the values of those variables has changed and the set of variables has changed.
Instead the approach is:
You have functions (machines that transform input values into output values, where the input values and output values can themselves be functions) that you apply on values to get a result (and any state is temporary and just an artifice of expressing how your function works).
I think "a computer" >>1 means is so-called Von Neumann-type computer.
Procedural programming needs global states, variables and substitutions like current computer architectures.
Functional programming also has values but they never change once they have been defined, and yet it works because of λ-calculus like >>13 said.
I recommend Haskell for Functional programming novices too.
Haskell is a bit idealistic language, but people can learn a lot for it.
Ruby. The Best of All EVER.
Simple. Beauty. Force.
get '/' do
Web-server with hello-world-main-page. 4 lines. :)
I can do that with Node.js, or any other framework out there. That is still stupid. If you don't understand why "my_whole_web_site_just_work();" is lame, please stop programming.
I know, I've been trolled once again :(
Such baseless novelties, try Nimrod, son.
State is easily reintroduced into functional programming with f-coalgebras. Then you model your computation as a function working on a state space S and several outcomes (bottom = no terminating or undefined), just the next state or an exception and the next state. This model also apply on java. From this model, functional languages are rather explicit with their state passing.
S[sub]t[/sub] -> bottom + S[sub]t+1[/sub] + S[sub]t+1[/sub] x E
Learn brainfuck, trust me. Its a great language and will teach you the fundamentals of a language like Assembly, but in a more complicated way, which is definitely better.
You have a memory (a bunch of memory locations with their values at some time t) that you manipulate with functions so that at time t+1, the values of those memory locations has changed and the set of stack memory locations has changed.
Instead the approach is:
You have procedures (machines that transform input values into output values, where the input values and output values can themselves be procedures) that you apply on values to get a result (and any memory is temporary and just an artifice of expressing how your procedure works).
Also you have unsafe IO procedures to call some devil functions because von neumann or something. It's not like someone forgot computer functions were jumps in the instruction pointer and not actual mathematical functions..
I would say Ruby. The Russian guy is kind of dumb though. Ruby has what you want plus there is a great community and Ruby Gems are pretty great as well.
S-expressions are a thing, you guys.
I guess you don't write Lisp. Semantic formatting is the antithesis of brevity, expressiveness, and beauty of code. S-expressions, on the other hand, deliberately make syntax not matter at all, by virtue of there being practically none.
If you want a layout-looking markup language then use markdown or whatever other shit is currently popular.
Shitty, hard-to-read syntax is not the same thing as no syntax.
You clearly don't Lisp.
Come back when you've even tried to use it.
> This SRFI descibes a new syntax for Scheme, called I-expressions, whith equal descriptive power as S-expressions. The syntax uses indentation to group expressions, and has no special cases for semantic constructs of the language. It can be used both for program and data input.
> I guess you don't write Lisp. Semantic formatting is the antithesis of brevity, expressiveness, and beauty of code. S-expressions, on the other hand, deliberately make syntax not matter at all, by virtue of there being practically none.
Why do so many LISPers lack basic reading comprehension skills?
When you read two sentences with the word ``semantic'' in, do you automatically assume that they have any relation to each other at all? Because those two didn't.
Semantic formatting includes significant whitespace. Absolutely nothing to do with special cases in syntax.
Come on guy, did you even try or were you just finding any excuse to make sweeping judgements on the internet?
So whether something is "semantic formatting" is determined by what characters it uses? Parentheses are okay, but spaces are evil? Even though S-expressions also use spaces in a syntactically significant way?
Just pretend he was trolling.
Is there any sort of easy-to-read guide or manual on the Game Boy and its instruction set (Z80?)?
Also, it's open source: https://github.com/grantgalitz/GameBoy-Online
It isn't very fast, but it's still very impressive.